Systems and methods for adaptively transmitting media and advertising content

ABSTRACT

Embodiments provide methods and systems for presenting advertisements associated with a particular media. The advertisement may have several versions, any one of which may be presented, based on several factors, including the length of time between transmission and receipt of any particular version. The transmission of the advertisements and related media content is optimize in order seamlessly transition between advertisements and media content.

BACKGROUND

In conventional systems, advertisements are often associated anddisplayed with media content. As media content has evolved to includeaudio, video and interactive content or applications, so have theadvertisements. Advertisements now include many of the featuresassociated with the various types of media content.

The more complex an advertisement becomes, the more bandwidth isrequired to transmit the advertisement. Bandwidth is a measure ofavailable or consumed data communication resources expressed inbits/second or multiples of it (kilobits/s, megabits/s, etc.). As mediacontent and advertisements must share the amount of bandwidth, thetransmission of the increasingly complex advertisements often conflictswith the transmission of media content. Furthermore, the amount ofavailable bandwidth may change instantaneously, resulting in a slowdown, or lack of, transmission of both the advertisement and the mediacontent.

This is particularly troublesome when streaming media content andadvertisements. If the transmission is interrupted due to lack ofbandwidth, the advertisement or media content may experience breaks inthe continuity of its presentation (e.g., creating jumps and pauses).Pausing the presentation, even for a short time, may cause the user tolose interest in the media and abandon its viewing.

SUMMARY OF DISCLOSURE

Accordingly, methods and systems are described herein for providingmultiple versions of an advertisement associated with a media listing,or the media itself, substantially simultaneously in order to provideseamless presentations of advertisements and media content.

While a high quality advertisement may be preferred, bandwidthconstraint may hinder the ability of the high quality advertisement tobe sufficiently transmitted to a user. For example, as a user views thehigh quality advertisement, the high quality advertisement mightexperience breaks in continuity (e.g., jitters, jumps or pauses) duringthe presentation. Therefore, a low quality version of the advertisementmay be transmitted substantially simultaneously with the high qualityadvertisement.

The low quality advertisement may transmit more quickly and use lessbandwidth than the high quality advertisement, so bandwidth constraintsmay not affect (e.g., cause jitters, jumps or pauses) the low qualityadvertisement as much as they affect the high quality advertisement.Furthermore, as the low quality advertisement may have a substantiallylower bit rate, the transmission of the low quality advertisement doesnot substantially interfere with the transmission of the high qualityadvertisement. Finally, as the low quality advertisement is transmittedsubstantially simultaneously, there will be no delay or lag waiting forthe low quality version to transmit.

In some embodiments, a targeted advertisement may be associated withmedia content (e.g., a movie). While a user is presented with the mediacontent listing (e.g., the title of the movie), multiple versions of theadvertisement (e.g., a high quality version and a low quality version)may be transmitted substantially simultaneously to the user. When theuser selects the media content (e.g., clicks on the movie title), theversion of the advertisement that is sufficiently transmitted may bepresented to the user, prior to the start of the media content. If bothversions are sufficiently transmitted, a preferred version (e.g., thehigh quality version) may be presented to the user.

In some embodiments, the method comprises generating a display of amedia listing and identifying an advertisement associated with thatlisting. While a user is presented with the listing, multiple versionsof the advertisement may be transmitted substantially simultaneously tothe user. The length of time between the transmission of theadvertisement versions and reception of the user's media selection canthen be determined. Based on this determination, a sufficientlytransmitted version of the advertisement may be selected to beseamlessly presented with the user's selected media content.

In some embodiments where multiple versions of an advertisement aretransmitted, the multiple versions are associated with differentqualities of the advertisement. For example, there may be a first andsecond version of the advertisement and a first and second qualityassociated with each version. As the quality of the versions may bedifferent, one version may have a higher or lower quality than theother. In addition, some embodiments may include three or more versionsof the advertisement, all of which may be transmitted substantiallysimultaneously.

In some embodiments, the determination of which particular version isdisplayed to the user is based upon the length of time between thetransmission of the advertisement versions and reception of the user'smedia selection. The determination may consider a user's history orprofile in determining which versions of an advertisement should bedisplayed to the user. In addition, the determination may include past,current and future link speed or environmental factors.

In some embodiments, after presenting either the first or second versionof the advertisement, a point (i.e. the beginning, middle or end of asegment) may be determined for stopping the version currently beingpresented (e.g., the low quality version) and begin presenting theun-presented version (e.g., the high quality version). The determinationof the point may be based upon the length of time between thetransmission of the advertisement versions and reception of the user'smedia selection, the progress of the transmission, or the quality of themedia content. The determination of the point may also consider past,current and future link speed, user profiles and histories,environmental factors and/or other additional factors.

In some embodiments, a high quality advertisement and a low qualityadvertisement may be transmitted substantially simultaneously formultiple media listings (e.g., for two or more movies). In someembodiments, only a high quality advertisement may be transmitted forone media listing (e.g., a popular movie) and only a low qualityadvertisement may be transmitted for another media listing (e.g., anunpopular movie). The two advertisements may then be transmittedsubstantially simultaneously to the user, so that no matter which medialisting the user selects (e.g., either the popular movie or theunpopular movie), an advertisement will be transmitted and presented.

The system or method may determine the likelihood that the user mayselect one media listing (e.g., the popular movie) over another medialisting (e.g., the unpopular movie). Based on this likelihood, thesystem or method may assign a version of each advertisement (e.g.,either a high quality version or a low quality version) to betransmitted.

Due to bandwidth constraint, it may be difficult to transmit thepreferred version (e.g., the high quality version) of each advertisementassociated with each media listing to the user before the user selectsone of the media listings. If the advertisements are not sufficientlytransmitted before the user selects a media listing, the user mayexperience a pause before the associated advertisement is presented orexperience breaks in continuity (e.g., jitters, jumps or pauses) duringthe presentation.

The pauses or continuity breaks may cause a user to lose interest in themedia listing and abandon viewing the contents of the media listing.Therefore, the version (e.g., high or low quality) of each advertisementassociated with each media listing may be selected, or prioritized,based on the likelihood that the user will select each media listing. Inthis way, the bandwidth used to transmit preferred (e.g., high quality)versions of the advertisements are optimized based on the availablebandwidth, and the likelihood that the user will experience pauses orcontinuity breaks in the presented advertisement is minimized.

In some embodiments, the method comprises transmitting a first medialisting for a first media and a second media listing for a second mediato a user. The first media is associated with a first advertisement, andthe second media is associated with a second advertisement. Adetermination of the likelihood that a user will select either listingis then made. Prior to a user selection of one of the media listings, aselection of a first version of the first advertisement and a secondversion of the second advertisement is made based on the determinedlikelihoods, and the selected versions are transmitted to the usersubstantially simultaneously.

In some embodiments, the versions of the advertisement are associatedwith different qualities of the advertisement. For example, the firstversion of the first advertisement may have a first quality, and thesecond version of the second advertisement may have a second quality.The quality of the versions may be different, for example one versionmay have a higher or lower quality than the other. In addition, someembodiments may include multiple versions of the each advertisement, allof which may be transmitted substantially simultaneously. Someembodiments may also include three or more media listings, each withassociated advertisements.

In some embodiments, the determined likelihoods may be based on a userprofile or history, or the determinations may include past, current andfuture link speed or environmental factors.

In some embodiments, the selections of the versions of the first andsecond advertisements may also be based on a user's profile or history.In addition, the selection determinations may include past, current andfuture link speed or environmental factors. These methods may also beemployed to determine the advertisements that are associated with anyparticular media content.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and advantages of the disclosure will beapparent upon consideration of the following detailed description, takenin conjunction with the accompanying drawings, in which like referencecharacters refer to like parts throughout, and in which:

FIG. 1 shows an illustrative media listing display that may be used toprovide media listings in accordance with some embodiments of thedisclosure;

FIG. 2 shows another illustrative media listing display that may be usedto provide media listings in accordance with some embodiments of thedisclosure;

FIG. 3 is a block diagram of an illustrative user equipment device inaccordance with some embodiments of the disclosure;

FIG. 4 is a block diagram of an illustrative media system in accordancewith some embodiments of the disclosure;

FIG. 5 is a graph relating to simultaneously transmitting multipleversions of an advertisement in some embodiments of the disclosure;

FIG. 6 is a block diagram of an illustrative media system in accordancewith some embodiments of the disclosure;

FIG. 7 is a flow-chart of illustrative steps involved in providingadvertisements in a media system in accordance with some embodiments ofthe disclosure;

FIG. 8A is a flow-chart of illustrative steps involved in providingadvertisement segments in a media system in accordance with someembodiments of the disclosure;

FIG. 8B is a flow-chart of illustrative steps involved in providingadvertisement segments in a media system in accordance with someembodiments of the disclosure;

FIG. 8C is a flow-chart of illustrative steps involved in providingadvertisement segments in a media system in accordance with someembodiments of the disclosure;

FIG. 9 is a flow-chart of illustrative steps involved in selecting aversion of an advertisement in some embodiments of the disclosure;

FIG. 10 is a flow-chart of illustrative steps involved in allocatingbandwidth in some embodiments of the disclosure;

FIG. 11A is a graph relating to selecting a version of an advertisementin some embodiments of the disclosure;

FIG. 11B is a graph relating to selecting a version of an advertisementin some embodiments of the disclosure;

FIG. 11C is a graph relating to selecting a version of an advertisementin some embodiments of the disclosure;

FIG. 11D is a graph relating to selecting a version of an advertisementin some embodiments of the disclosure;

FIG. 11E is a graph relating to selecting a version of an advertisementin some embodiments of the disclosure;

FIG. 11F is a flow-chart of illustrative steps involved in measuringbandwidth in some embodiments of the disclosure;

FIG. 12 is a flow-chart of illustrative steps involved in selecting aversion of multiple advertisements to associate with respective medialistings;

FIG. 13 is a flow-chart of illustrative steps involved in selecting aversion of an advertisement to associate with a media listing in someembodiments of the disclosure;

FIG. 14 is a flow-chart of illustrative steps involved in selecting aversion of an advertisement to associate with a media listing in someembodiments of the disclosure and further monetizing the valueassociated with different quality advertisements;

FIG. 15 is a flow-chart of illustrative steps involved in selecting aversion of an advertisement in some embodiments of the disclosure; and

FIG. 16 is a flow-chart of illustrative steps involved in selecting aversion of an advertisement in some embodiments of the disclosure.

DETAILED DESCRIPTION OF THE DRAWINGS

In some systems, limited bandwidth and other factors create constraintson the amount of data that may be transmitted or the length of time thatmay be used to transmit the data. Consequently, the transition betweenthe advertisement and the media (i.e. the point when the advertisementconcludes and the media begins), or vice versa, may be affected.Similarly, the period following a user selection and before a “pre-roll”advertisement or media begins may also be affected. A “pre-roll”advertisement is an advertisement designed to play after the selectionof a media listing, but before the content of the media listing isshown.

Media listings may take various forms depending on the type of device onwhich the listing is displayed and the type of content represented bythe listing. Furthermore, the device on which the media listing displayappears may comprise a media guidance application. A media guidanceapplication is an application that, among other things, allows a user tonavigate among and locate many types of content. In some contexts, forexample, viewing a web-site page, the media listings are arranged uponthe media listing display according to a predefined code based upon theparticular user device.

As referred to herein, the term “content” should be understood to meanan electronically consumable user asset, such as Internet content (e.g.,streaming content, downloadable content, Webcasts, etc.), video clips,audio, content information, pictures, rotating images, documents,playlists, websites, articles, books, electronic books, blogs,advertisements, chat sessions, social media, applications, games, and/orany other media, television programming, as well as pay-per-viewprograms, on-demand programs (as in video-on-demand (“VOD”) systems), ormultimedia and/or combination of the same. Media listing displays alsoallow users to navigate among and locate content. As referred to herein,the term “multimedia” should be understood to mean content that utilizesat least two different content forms described above, for example, text,audio, images, video, or interactivity content forms. Content may berecorded, played, displayed or accessed by user equipment devices, butcan also be part of a live performance.

With the advent of the Internet, mobile computing, and high-speedwireless networks, users are accessing media on user equipment deviceson which they traditionally did not. As referred to herein, the phrase“user equipment device,” “user equipment,” “user device,” “electronicdevice,” “electronic equipment,” “media equipment device,” or “mediadevice” should be understood to mean any device for accessing thecontent described above, such as a television, a Smart TV, a set-topbox, an integrated receiver decoder (IRD) for handling satellitetelevision, a digital storage device, a digital media receiver (DMR), adigital media adapter (DMA), a streaming media device, a DVD player, aDVD recorder, a connected DVD, a local media server, a BLU-RAY player, aBLU-RAY recorder, a personal computer (PC), a laptop computer, a tabletcomputer, a WebTV box, a personal computer television (PC/TV), a PCmedia server, a PC media center, a hand-held computer, a stationarytelephone, a personal digital assistant (PDA), a mobile telephone, aportable video player, a portable music player, a portable gamingmachine, a smart phone, or any other television equipment, computingequipment, or wireless device, and/or combination of the same. In someembodiments, the user equipment device may have a front facing screenand a rear facing screen, multiple front screens, or multiple angledscreens. In some embodiments, the user equipment device may have a frontfacing camera and/or a rear facing camera. On these user equipmentdevices, users may be able to navigate among and locate the same contentavailable through a television, website, or any type of on-screendisplay.

One of the functions of the media listing display is to provide mediaguidance data to users. As referred to herein, the phrase, “mediaguidance data” or “guidance data” should be understood to mean any datarelated to content, such as media listings, media-related information(e.g., broadcast times, broadcast channels, titles, descriptions,ratings information (e.g., parental control ratings, critic's ratings,etc.), genre or category information, actor information, logo data forbroadcasters' or providers' logos, etc.), media format (e.g., standarddefinition, high definition, 3D, etc.), advertisement information (e.g.,text, images, media clips, etc.), on-demand information, blogs,websites, and any other type of guidance data that is helpful for a userto navigate among and locate desired content selections.

FIGS. 1-2 show illustrative media listing displays that may be used toprovide media guidance data. The media listing displays shown in FIGS.1-2 may be implemented on any suitable user equipment device orplatform. While the displays of FIGS. 1-2 are illustrated as full screendisplays, they may also be fully or partially overlaid over contentbeing displayed. A user may indicate a desire to access contentinformation by selecting a selectable option provided in a media listingdisplay (e.g., a menu option, a listings option, an icon, a hyperlink,etc.) or pressing a dedicated button (e.g., a GUIDE button) on a remotecontrol or other user input interface or device. In response to theuser's indication, the media listing display may provide media guidancedata organized in one of several ways, such as by time and channel in agrid, by time, by channel, by source, by content type, by program, bycategory (e.g., movies, sports, news, children, or other categories ofprogramming), or other predefined, user-defined, or other organizationcriteria. The organization of the media guidance data is determined byguidance application data. As referred to herein, the phrase, “guidanceapplication data” should be understood to mean data used in operatingthe guidance application, such as program information, guidanceapplication settings, user preferences, or user profile information.

FIG. 1 shows illustrative grid media listings display 100 arranged bytime and channel that also enables access to different types of contentin a single display. Display 100 may include grid 102 with: (1) a columnof channel/content type identifiers 104, where each channel/content typeidentifier (which is a cell in the column) identifies a differentchannel or content type available; and (2) a row of time identifiers106, where each time identifier (which is a cell in the row) identifiesa time block of programming. Grid 102 also includes cells of medialistings, such as media listing 108, where each listing provides thetitle of the program provided on the listing's associated channel andtime. With a user input device, a user can select program listings bymoving highlight region 110. Information relating to the program listingselected by highlight region 110 may be provided in program informationregion 112. Region 112 may include, for example, the program title, theprogram description, the time the program is provided (if applicable),the channel the program is on (if applicable), the program's rating, andother desired information.

In addition to providing access to linear programming (e.g., contentthat is scheduled to be transmitted to a plurality of user equipmentdevices at a predetermined time and is provided according to aschedule), the media guidance application also provides access tonon-linear programming (e.g., content accessible to a user equipmentdevice at any time and is not provided according to a schedule).Non-linear programming may include content from different contentsources including on-demand content (e.g., VOD), Internet content (e.g.,streaming media, downloadable media, etc.), locally stored content(e.g., content stored on any user equipment device described above orother storage device), or other time-independent content. On-demandcontent may include movies or any other content provided by a particularcontent provider (e.g., HBO On Demand providing “The Sopranos” and “CurbYour Enthusiasm”). HBO ON DEMAND is a service mark owned by Time WarnerCompany L. P. et al. and THE SOPRANOS and CURB YOUR ENTHUSIASM aretrademarks owned by the Home Box Office, Inc. Internet content mayinclude interactive media applications, programs, video data, audiodata, games, web events, such as a chat session or Webcast, documents,or content available on-demand as streaming content or downloadablecontent through an Internet web site or other Internet access (e.g.FTP). For example, a web-site may provide a media listing 108 of anavailable television program, movie, game or other interactive media.

Grid 102 may provide media guidance data for non-linear programmingincluding on-demand listing 114, recorded content listing 116, andInternet content listing 118. A display combining media guidance datafor content from different types of content sources is sometimesreferred to as a “mixed-media” display. Various permutations of thetypes of media guidance data that may be displayed that are differentthan display 100 may be based on user selection or guidance applicationdefinition (e.g., a display of only recorded and broadcast listings,only on-demand and broadcast listings, only of the most recently updatedprograms, only of recently added movies, only of a particular genre ofcontent, etc.). As illustrated, listings 114, 116, and 118 are shown asspanning the entire time block displayed in grid 102 to indicate thatselection of these listings may provide access to a display dedicated toon-demand listings, recorded listings, or Internet listings,respectively. In some embodiments, listings for these content types maybe included directly in grid 102. Additional media guidance data may bedisplayed in response to the user selecting one of the navigationalicons 120. (Pressing an arrow key on a user input device, moving a mousecursor or pointer, or moving a scroll bar may affect the display in asimilar manner as selecting navigational icons 120.)

Display 100 may also include video region 122, advertisement 124, andoptions region 126. Video region 122 may allow the user to view and/orpreview programs that are currently available, will be available, orwere available to the user. The content of video region 122 maycorrespond to, or be independent from, one of the listings displayed ingrid 102. Grid displays including a video region are sometimes referredto as picture-in-guide (PIG) displays. PIG displays and theirfunctionalities are described in greater detail in U.S. Pat. No.6,564,378, issued May 13, 2003 to Satterfield et al. and U.S. Pat. No.6,239,794, issued May 29, 2001 to Yuen et al., which are herebyincorporated by reference herein in their entireties. PIG displays maybe included in other media listing displays of the embodiments describedherein.

Advertisement 124 may be associated with the content of media listing108. Furthermore, advertisement 124 may be displayed before, during orafter either the selection of media listing 108 or the display of medialisting 108. Advertisement 124 may be of the same form as the content ofmedia listing 108 (e.g., advertisement 124 is a video where the contentof media listing 108 is a video), or advertisement 124 may be of adifferent form from the content of media listing 124 (e.g.,advertisement 124 is a video where the content of media listing 108 isan interactive game). Furthermore, advertisement 124 may be displayed inbetween portions of the content of the media listing 108, orconcurrently with the display of the content of the media listing 108.

Advertisement 124 may be displayed in the same window (e.g., where thecontent of media listing 108 is shown in a new window, the content maybe preceded by a display of advertisement 124 in the same window) orportion of the screen as the content of the media listing 108 (e.g., afull screen display of a video content may be preceded by a full screendisplay of advertisement 124).

Advertisement 124 may provide an advertisement for content that,depending on a viewer's access rights (e.g., for subscriptionprogramming), is currently available for viewing, will be available forviewing in the future, or may never become available for viewing, andmay correspond to or be unrelated to one or more of the media listings108 in grid 102. Advertisement 124 may also be for products or servicesrelated or unrelated to the content displayed in grid 102 or medialisting 108. Advertisement 124 may be selectable and provide furtherinformation about content, provide information about a product or aservice, enable purchasing of content, a product, or a service, providecontent relating to the advertisement, etc. Advertisement 124 may betargeted based on a user's profile/preferences, monitored user activity,the type of display provided, or on other suitable targetedadvertisement bases.

While advertisement 124 is shown in FIG. 1 as rectangular or bannershaped, advertisements may be provided, permanently or temporarily, inany suitable size, shape, and location in a guidance applicationdisplay. For example, advertisement 124 may be provided as a rectangularshape that is horizontally adjacent to grid 102. This is sometimesreferred to as a panel advertisement. In addition, advertisements may beoverlaid over content or a guidance application display or embeddedwithin a display. Advertisements may also include text, images, rotatingimages, video clips, or other types of content described above.Advertisements may be stored in a user equipment device having aguidance application, in a database connected to the user equipment, ina remote location (including streaming media servers), or on otherstorage means, or a combination of these locations. Providingadvertisements in a media guidance application is discussed in greaterdetail in, for example, Knudson et al., U.S. Patent ApplicationPublication No. 2003/0110499, filed Jan. 17, 2003; Ward, III et al. U.S.Pat. No. 6,756,997, issued Jun. 29, 2004; and Schein et al. U.S. Pat.No. 6,388,714, issued May 14, 2002, which are hereby incorporated byreference herein in their entireties. It will be appreciated thatadvertisements may be included in other media listing displays of theembodiments described herein.

Options region 126 may allow the user to access different types ofcontent, media guidance application displays, and/or media guidanceapplication features. Options region 126 may be part of display 100 (andother media listing displays described herein), or may be invoked by auser by selecting an on-screen option or pressing a dedicated orassignable button on a user input device. The selectable options withinoptions region 126 may concern features related to program listings ingrid 102 or may include options available from a main menu display.

The media guidance application may allow a user to provide user profileinformation or may automatically compile user profile information. Themedia guidance application may, for example, monitor the content theuser accesses and/or other interactions the user may have with theguidance application. Additionally, the media guidance application mayobtain all or part of other user profiles that are related to aparticular user (e.g., from other web sites on the Internet the useraccesses, such as www.allrovi.com, from other media guidanceapplications the user accesses, from other interactive applications theuser accesses, from another user equipment device of the user, etc.),and/or obtain information about the user from other sources that themedia guidance application may access. As a result, a user can beprovided with a unified guidance application experience across theuser's different user equipment devices. This type of user experience isdescribed in greater detail below in connection with FIG. 4. Additionalpersonalized media guidance application features are described ingreater detail in Ellis et al., U.S. Patent Application Publication No.2005/0251827, filed Jul. 11, 2005; Boyer et al., U.S. Pat. No.7,165,098, issued Jan. 16, 2007; and Ellis et al., U.S. PatentApplication Publication No. 2002/0174430, filed Feb. 21, 2002, which arehereby incorporated by reference herein in their entireties.

FIG. 2 shows another media listing display. FIG. 2, for example, may bea media listing display as it would appear on a web-site. The web-sitemay transmit streaming media to a user upon selection by the user of aparticular title. The streaming media may be categorized or may showrecently added programs or movies. The movies or programs may beassociated with targeted advertisements that are also provided asstreaming media. In some embodiments, the pre-roll advertisements maybegin being transmitted as soon as the user enters or accesses theweb-site.

Video mosaic display 200 includes selectable options 202 for contentinformation organized based on content type, genre, and/or otherorganization criteria. These tabs may correspond to the menu tabs of themedia listing display.

In display 200, program listing option 204 is selected, thus providinglistings 206, 208, 210, and 212 as broadcast program listings. Indisplay 200 the listings may provide graphical images including coverart, still images from the content, video clip previews, live video fromthe content, or other types of content that indicate to a user thecontent being described by the media guidance data in the listing.

For example, listing 206 may have been selected by a user and iscurrently being presented. Each of the graphical listings may also beaccompanied by text to provide further information about the contentassociated with the listing. For example, listing 208 may include morethan one portion, including media portion 214 and text portion 216.Media portion 214 and/or text portion 216 may be selectable to viewcontent in full-screen or to view information related to the contentdisplayed in media portion 214.

The listings in display 200 are of different sizes (i.e., listing 206 islarger than listings 208, 210, and 212), but if desired, all thelistings may be the same size. Listings may be of different sizes orgraphically accentuated to indicate degrees of interest to the user orto emphasize certain content, as desired by the content provider orbased on user preferences. Various systems and methods for graphicallyaccentuating content listings are discussed in, for example, Yates, U.S.Patent Application Publication No. 2010/0153885, filed Dec. 29, 2005,which is hereby incorporated by reference herein in its entirety.

Users may access content from one or more of their user equipmentdevices. FIG. 3 shows a generalized embodiment of illustrative userequipment. The generalized embodiment may be applied to various devicesdescribed through the application. For example, FIG. 3 may be a userdevice used for receiving streaming media including, but not limited to,a smartphone.

More specific implementations of user equipment devices are discussedbelow in connection with FIG. 4. User equipment device 300 may receivecontent and data via input/output (hereinafter “I/O”) path 302. I/O path302 may provide content (e.g., Internet content, broadcast programming,on-demand programming, content available over a local area network (LAN)or wide area network (WAN), and/or other content) and data to controlcircuitry 304, which includes processing circuitry 306 and storage 308.Storage 308 may be used to permanently or temporarily store data and/orquickly retrieve the stored data (e.g., buffer and/or cache the data). Abuffer a physical memory storage used to temporarily hold data while itis being moved from one place to another. A cache is a permanent storageof data. Throughout this disclosure, buffering and caching may be usedinterchangeably and examples using one may incorporate the other.Control circuitry 304 may be used to send and receive commands,requests, and other suitable data using I/O path 302. I/O path 302 mayconnect control circuitry 304 (and specifically processing circuitry306) to one or more communications paths (described below). I/Ofunctions may be provided by one or more of these communications paths,but are shown as a single path in FIG. 3 to avoid overcomplicating thedrawing.

Control circuitry 304 may be based on any suitable processing circuitrysuch as processing circuitry 306. As referred to herein, processingcircuitry should be understood to mean circuitry based on one or moremicroprocessors, microcontrollers, digital signal processors,programmable logic devices, field-programmable gate arrays (FPGAs),application-specific integrated circuits (ASICs), etc., and may includea multi-core processor (e.g., dual-core, quad-core, hexa-core, or anysuitable number of cores) or supercomputer. In some embodiments,processing circuitry may be distributed across multiple separateprocessors or processing units, for example, multiple of the same typeof processing units (e.g., two Intel Core i7 processors) or multipledifferent processors (e.g., an Intel Core i5 processor and an Intel Corei7 processor). In some embodiments, control circuitry 304 executesinstructions for a media guidance application stored in memory (i.e.,storage 308). Specifically, control circuitry 304 may be instructed bythe media guidance application to perform the functions discussed aboveand below. For example, the media guidance application may provideinstructions to control circuitry 304 to generate the media guidancedisplays. In some implementations, any action performed by controlcircuitry 304 may be based on instructions received from the mediaguidance application.

In some embodiments, control circuitry 304 executes instructions forsending or retrieving a user profile stored in memory (e.g., storage308). In some embodiments, control circuitry 304 may receive user inputfor selecting media content located on other user equipment. Controlcircuitry 304 may automatically send the user profile to other userequipment before selecting media content. In particular, the controlcircuitry 304 on the other user equipment device may use the userprofile to determine an advertisement to transmit to the user forpresentation on display 312. In some embodiments, control circuitry 304may coordinate the transmission of the media listing content with otherequipment (i.e. other user equipment or remote servers).

In client-server based embodiments, control circuitry 304 may includecommunications circuitry suitable for communicating with a remoteserver, advertisement server, or other networks or servers. Theinstructions for carrying out the above mentioned functionality may bestored on remote server or the user device. Communications circuitry mayinclude a cable modem, an integrated services digital network (ISDN)modem, a digital subscriber line (DSL) modem, a telephone modem,Ethernet card, or a wireless modem for communications with otherequipment, or any other suitable communications circuitry. Suchcommunications may involve the Internet or any other suitablecommunications networks or paths (which are described in more detail inconnection with FIG. 4). In addition, communications circuitry mayinclude circuitry that enables peer-to-peer communication of userequipment devices, or communication of user equipment devices inlocations remote from each other (described in more detail below) orcommunication with other devices. In particular, the communicationscircuitry may be suitable for communicating over a network with otherdevices such as a media content source.

Memory may be an electronic storage device provided as storage 308 thatis part of control circuitry 304. As referred to herein, the phrase“electronic storage device” or “storage device” should be understood tomean any device for storing electronic data, computer software, orfirmware, such as random-access memory, read-only memory, hard drives,optical drives, digital video disc (DVD) recorders, compact disc (CD)recorders, BLU-RAY disc (BD) recorders, BLU-RAY 3D disc recorders,digital video recorders (DVR, sometimes called a personal videorecorder, or PVR), solid state devices, quantum storage devices, gamingconsoles, gaming media, or any other suitable fixed or removable storagedevices, and/or any combination of the same. Storage 308 may be used tostore various types of content described herein as well as mediaguidance information, described above, and guidance application data,described above. Nonvolatile memory may also be used (e.g., to launch aboot-up routine and other instructions). Cloud-based storage, describedin relation to FIG. 4, may be used to supplement storage 308 or insteadof storage 308.

Control circuitry 304 may include video generating circuitry and tuningcircuitry, such as one or more analog tuners, one or more MPEG-2decoders or other digital decoding circuitry, high-definition tuners, orany other suitable tuning or video circuits or combinations of suchcircuits.

Encoding circuitry (e.g., for converting over-the-air, analog, ordigital signals to MPEG signals for storage) may also be provided.Control circuitry 304 may also include scaler circuitry for upconvertingand downconverting content into the preferred output format of the userequipment 300. Circuitry 304 may also include digital-to-analogconverter circuitry and analog-to-digital converter circuitry forconverting between digital and analog signals. The tuning and encodingcircuitry may be used by the user equipment device to receive and todisplay, to play, or to record content.

The tuning and encoding circuitry may also be used to receive guidancedata. The circuitry described herein, including for example, the tuning,video generating, encoding, decoding, encrypting, decrypting,segmenting, scaler, and analog/digital circuitry, may be implementedusing software running on one or more general purpose or specializedprocessors. Multiple tuners may be provided to handle simultaneoustuning functions (e.g., watch and record functions, picture-in-picture(PIP) functions, multiple-tuner recording, etc.). If storage 308 isprovided as a separate device from user equipment 300, the tuning andencoding circuitry (including multiple tuners) may be associated withstorage 308.

A user may send instructions to control circuitry 304 using user inputinterface 310. User input interface 310 may be any suitable userinterface, such as a remote control, mouse, trackball, keypad, keyboard,touch screen, touchpad, stylus input, joystick, voice recognitioninterface, or other user input interfaces. Display 312 may be providedas a stand-alone device or integrated with other elements of userequipment device 300. Display 312 may be one or more of a monitor, atelevision, a liquid crystal display (LCD) for a mobile device, or anyother suitable equipment for displaying visual images. In someembodiments, display 312 may be HDTV-capable. In some embodiments,display 312 may be a 3D display, and the media listing display and anysuitable content may be displayed in 3D. A video card or graphics cardmay generate the output to the display 312. The video card may offervarious functions such as accelerated rendering of 3D scenes and 2Dgraphics, MPEG-2/MPEG-4 decoding, TV output, or the ability to connectmultiple monitors. The video card may be any processing circuitrydescribed above in relation to control circuitry 304. The video card maybe integrated with the control circuitry 304. Speakers 314 may beprovided as integrated with other elements of user equipment device 300or may be stand-alone units. The audio component of videos and othercontent displayed on display 312 may be played through speakers 314. Insome embodiments, the audio may be distributed to a receiver (notshown), which processes and outputs the audio via speakers 314.

The media listing display may be implemented using any suitablearchitecture. For example, it may be a stand-alone application whollyimplemented on user equipment device 300. In such an approach,instructions of the application are stored locally, and data for use bythe application is downloaded on a periodic basis (e.g., from anout-of-band feed, from an Internet resource, or using another suitableapproach). In some embodiments, the media listing display is aclient-server based application. Data for use by a thick or thin clientimplemented on user equipment device 300 is retrieved on-demand byissuing requests to a server remote to the user equipment device 300. Inone example of a client-server based system, control circuitry 304 runsa web browser that interprets web pages provided by a remote server.

In some embodiments, the program listing display is downloaded andinterpreted or otherwise run by an interpreter or virtual machine (runby control circuitry 304). In some embodiments, the guidance applicationmay be encoded in the ETV Binary Interchange Format (EBIF), received bycontrol circuitry 304 as part of a suitable feed, and interpreted by auser agent running on control circuitry 304. For example, the displaymay be an EBIF application. In some embodiments, the guidanceapplication may be defined by a series of JAVA-based files that arereceived and run by a local virtual machine or other suitable middlewareexecuted by control circuitry 304. In some of such embodiments (e.g.,those employing MPEG-2 or other digital media encoding schemes), thedisplay may be, for example, encoded and transmitted in an MPEG-2 objectcarousel with the MPEG audio and video packets of a program.

User equipment device 300 of FIG. 3 can be implemented in system 400 ofFIG. 4 as user equipment 402, user computer equipment 404, wireless usercommunications device 406, or any other type of user equipment suitablefor accessing content, such as a non-portable gaming machine. Forsimplicity, these devices may be referred to herein collectively as userequipment, user equipment devices or user device, and may besubstantially similar to user equipment devices described above. Userequipment devices, on which a media listing display may be implemented,may function as a standalone device or may be part of a network ofdevices. Various network configurations of devices may be implementedand are discussed in more detail below. For example, FIG. 4 may show auser device including, but not limited to, a smartphone requestingstreaming media from a content provider across the Internet.

A user equipment device utilizing at least some of the system featuresdescribed above in connection with FIG. 3 may not be classified solelyas user equipment 402, user computer equipment 404, or a wireless usercommunications device 406. For example, user equipment 402 may, likesome user computer equipment 404, be Internet-enabled allowing foraccess to Internet content, while user computer equipment 404 may, likesome user equipment 402, include a tuner allowing for access totelevision programming. The media listing display may have the samelayout on various different types of user equipment or may be tailoredto the display capabilities of the user equipment. For example, on usercomputer equipment 404, the media listing display may be provided as aweb site accessed by a web browser on a desktop computer. In anotherexample, the media listing display may be scaled down or may includingdifferent formatting for wireless user communications devices 406.

In the media display system 400, there may be more than one of each typeof user equipment device but only one of each is shown in FIG. 4 toavoid overcomplicating the drawing. In addition, each user may utilizemore than one type of user equipment device and also more than one ofeach type of user equipment device.

In some embodiments, a user equipment device (e.g., user equipment 402,user computer equipment 404, wireless user communications device 406)may be referred to as a “second screen device.” For example, a secondscreen device may supplement content presented on a first user equipmentdevice. The content presented on the second screen device may be anysuitable content that supplements the content presented on the firstdevice. In some embodiments, the second screen device provides aninterface for adjusting settings and display preferences of the firstdevice. In some embodiments, the second screen device is configured forinteracting with other second screen devices or for interacting with asocial network. The second screen device can be located in the same roomas the first device, a different room from the first device but in thesame house or building, or in a different building from the firstdevice.

The user equipment devices may be coupled to communications network 414.Namely, user equipment 402, user computer equipment 404, and wirelessuser communications device 406 are coupled to communications network 414via communications paths 408, 410, and 412, respectively. Communicationsnetwork 414 may be one or more networks including the Internet, a mobilephone network, mobile voice or data network (e.g., a 4G or LTE network),cable network, public switched telephone network, or other types ofcommunications network or combinations of communications networks. Paths408, 410, and 412 may separately or together include one or morecommunications paths, such as, a satellite path, a fiber-optic path, acable path, a path that supports Internet communications (e.g., IPTV),free-space connections (e.g., for broadcast or other wireless signals),or any other suitable wired or wireless communications path orcombination of such paths. Path 412 is drawn with dotted lines toindicate that in the exemplary embodiment shown in FIG. 4 it is awireless path and paths 408 and 410 are drawn as solid lines to indicatethey are wired paths (although these paths may be wireless paths, ifdesired). Communications with the user equipment devices may be providedby one or more of these communications paths, but are shown as a singlepath in FIG. 4 to avoid overcomplicating the drawing.

Although communications paths are not drawn between user equipmentdevices, these devices may communicate directly with each other viacommunication paths, such as those described above in connection withpaths 408, 410, and 412, as well as short-range point-to-pointcommunication paths, such as USB cables, IEEE 1394 cables, wirelesspaths (e.g., Bluetooth, infrared, IEEE 802-11x, etc.), or communicationvia wired or wireless paths. BLUETOOTH is a certification mark owned byBluetooth SIG, INC. The user equipment devices may also communicate witheach other directly through an indirect path via communications network414.

Media display system 400 includes advertisement content source 416 andmedia listing display source 418 coupled to communications network 414via communication paths 420 and 422, respectively. Paths 420 and 422 mayinclude any of the communication paths described above in connectionwith paths 408, 410, and 412. Communications with the advertisementcontent source 416 and media listing display source 418 may be exchangedover one or more communications paths, but are shown as a single path inFIG. 4 to avoid overcomplicating the drawing. In addition, there may bemore than one of each of advertisement content source 416 and medialisting display source 418, but only one of each is shown in FIG. 4 toavoid overcomplicating the drawing. (The different types of each ofthese sources are discussed below.) If desired, advertisement contentsource 416 and media listing display source 418 may be integrated as onesource device. Although communications between advertisement contentsource 416 and media listing display source 418 with user equipmentdevices 402, 404, and 406 are shown as through communications network414, in some embodiments, advertisement content source 416 and medialisting display source 418 may communicate directly with user equipmentdevices 402, 404, and 406 via communication paths (not shown) such asthose described above in connection with paths 408, 410, and 412.

Advertisement content source 416 and media listing display source 418may include one or more types of content distribution equipmentincluding a television distribution facility, cable system headend,satellite distribution facility, programming sources (e.g., televisionbroadcasters, such as NBC, ABC, HBO, etc.), intermediate distributionfacilities and/or servers, Internet providers, on-demand media servers,and other content providers. NBC is a trademark owned by the NationalBroadcasting Company, Inc., ABC is a trademark owned by the ABC, INC.,and HBO is a trademark owned by the Home Box Office, Inc. Advertisementcontent source 416 and media listing display source 418 may be theoriginator of content (e.g., a television broadcaster, a Webcastprovider, etc.) or may not be the originator of content (e.g., anon-demand content provider, an Internet provider of content of broadcastprograms for downloading, etc.). Advertisement content source 416 andmedia listing display source 418 may include cable sources, satelliteproviders, on-demand providers, Internet providers, over-the-top contentproviders, or other providers of content. Advertisement content source416 and media listing display source 418 may also each include a remotemedia server used to store different types of content (including videocontent selected by a user), in a location remote from any of the userequipment devices. Systems and methods for remote storage of content,and providing remotely stored content to user equipment are discussed ingreater detail in connection with Ellis et al., U.S. Pat. No. 7,761,892,issued Jul. 20, 2010, which is hereby incorporated by reference hereinin its entirety.

Media listing display source 418 may provide media guidance data, suchas the media guidance data described above. Media guidance data may beprovided to the user equipment devices using any suitable approach. Insome embodiments, the media listing display may be a stand-aloneinteractive media guide that receives program guide data via a data feed(e.g., a continuous feed or trickle feed). Available programs and othermedia guidance data may be provided to the user equipment by anysuitable data transmission technique.

In some embodiments, guidance data from media listing display source 418may be provided to users' equipment using a client-server approach. Forexample, a user equipment device may pull media guidance data from aserver, or a server may push media guidance data to a user equipmentdevice. In some embodiments, a guidance application client residing onthe user's equipment may initiate sessions with media listing displaysource 418 to obtain media guidance data when needed, e.g., when theguidance data is out of date or when the user equipment device receivesa request from the user to receive data. Media guidance may be providedto the user equipment with any suitable frequency (e.g., continuously,daily, a user-specified period of time, a system-specified period oftime, in response to a request from user equipment, etc.). Media listingdisplay source 418 may provide user equipment devices 402, 404, and 406the media guidance application itself or software updates for the mediaguidance application.

Media listing displays may be, for example, stand-alone applicationsimplemented on user equipment devices. For example, the media listingdisplays may be implemented as software or a set of executableinstructions which may be stored in storage 308, and executed by controlcircuitry 304 of a user equipment device 300. In some embodiments, mediaguidance applications may be client-server applications where only aclient application resides on the user equipment device, and the serverapplication resides on a remote server. For example, media listingdisplays may be implemented partially as a client application on controlcircuitry 304 of user equipment device 300 and partially on a remoteserver as a server application (e.g., media listing display source 418)running on control circuitry of the remote server. When executed bycontrol circuitry of the remote server (such as media listing displaysource 418), the remote server may generate the media listing displaysand transmit the generated displays to the user equipment devices. Theserver application may instruct the control circuitry of the medialisting display source 418 to transmit data for storage on the userequipment. The client application may instruct control circuitry of thereceiving user equipment to generate the media listing displays.

Advertisement content source 416 may provide media guidance data or moreparticularly advertisements. The advertisements provided by theadvertisement content source may be any of those described above.Advertisements may be provided to the user equipment devices using anysuitable approach. In some embodiments, user equipment 402 or the medialisting display source 418 may receive the advertisements from theadvertisement content source via a data feed (e.g., a continuous feed ortrickle feed). Available advertisements may also be provided to the userequipment 402 and media listing display source 418 by any suitable datatransmission technique.

In some embodiments, multiple media contents may travel together from asingle source. The media contents may be combined in various ways, forexample, multiplexing video packets or segments of video. The medialisting display source 418 could take packets or even segments of videodata from advertisements encoded in MPEG 4 (the fourth major version ofspecifications for video from the Motion Picture Expert Group) forexample and interleave those parts with segments of media content, whichalso happen to be encoded in MPEG 4, but could as easily be in someother standard. Alternatively, multiple streams of data encoded in MPEG4 could be wrapped within Internet Protocol (IP) packets. Then the IPpackets would effectively be interleaved when they are transmitted fromthe server to the client. How efficiently the user equipment 402 cande-interleave and decode a specific type of packet may be a factor indeciding, which way is best for multiplexing the data for a givensystem.

In some embodiments, advertisements from the advertisement contentsource 416 may be provided to the user equipment 402 using aclient-server approach. For example, a user equipment device may pulladvertisements from a server, or a server may push advertisements to auser equipment device. In some embodiments, the user equipment 402 mayinitiate sessions with advertisement content source 416 to obtainadvertisements when needed, e.g., when the user equipment devicereceives a request from the user to receive content associated with amedia listing. Advertisements may be provided to the user equipment withany suitable frequency (e.g., continuously, daily, a user-specifiedperiod of time, a system-specified period of time, in response to arequest from user equipment, etc.). Advertisement content source 416 mayprovide user equipment devices 402, 404, and 406 the advertisementsitself or may provide the advertisements to the media listing displaysource 418.

Advertisements may be, for example, stand-alone objects implemented onuser equipment devices. For example, advertisements may be implementedas software or a set of executable instructions which may be stored instorage 308, and executed by control circuitry 304 of a user equipmentdevice 300, or advertisements may consists of a single file. In someembodiments, advertisement content source 416 may be a remote serverconfigured to provide advertisements when requested. When executed bycontrol circuitry of the remote server of the advertisement contentsource 416, the remote server may generate an advertisement and transmitthe generated advertisement to the user equipment devices or the medialisting display source 418. The media listing display source 418 mayeither request an advertisement based on its association with thecontent related to the media listing or may instruct the controlcircuitry of the media listing display source 418 to determine anadvertisement for receipt from the advertisement content source 416.

Content, media guidance data, or advertisements delivered to userequipment devices 402, 404, and 406 may be over-the-top (OTT) content.OTT content delivery allows Internet-enabled user devices, including anyuser equipment device described above, to receive content that istransferred over the Internet, including any content described above, inaddition to content received over cable or satellite connections. OTTcontent is delivered via an Internet connection provided by an Internetservice provider (ISP), but a third party distributes the content. TheISP may not be responsible for the viewing abilities, copyrights, orredistribution of the content, and may only transfer IP packets providedby the OTT content provider. Examples of OTT content providers includeYOUTUBE, NETFLIX, and HULU, which provide audio and video via IPpackets. Youtube is a trademark owned by Google Inc., Netflix is atrademark owned by Netflix Inc., and Hulu is a trademark owned by Hulu,LLC. OTT content providers may additionally or alternatively providemedia guidance data described above. In addition to content and/or mediaguidance data, providers of OTT content can distribute media guidanceapplications (e.g., web-based applications or cloud-based applications),or the content can be displayed by media guidance applications stored onthe user equipment device.

Media display system 400 is intended to illustrate a number ofapproaches, or network configurations, by which user equipment devicesand sources of content and guidance data may communicate with each otherfor the purpose of accessing content and providing advertisements. Theembodiments described herein may be applied in any one or a subset ofthese approaches, or in a system employing other approaches fordelivering content and providing advertisements. The following twoapproaches provide specific illustrations of the generalized example ofFIG. 4.

In one approach, user equipment 402 may communicate with the medialisting display source 418 to request content associated with a medialisting. The media listing display source 418 may determine theadvertisements associated with the content of the media listing andrequest the advertisements from the advertisement content source 416 viathe communications network 414. The advertisement content source 416then transmits the advertisements associated with the content of themedia listing to the media listing display source 418 via thecommunications network 414. The media listing display source 418 maythen organize the received advertisements and the content of the medialisting and transmit it to the user equipment 402 via communicationsnetwork 414.

In a second approach, user equipment 402 may communicate with the medialisting display source 418 to request content associated with a medialisting. The media listing display source 418 may then communicate withthe advertisement content source 416 via the communications network 414and request advertisements associated with the content of the medialisting. The advertisement content source 416 may determine the properadvertisements associated with the content of the media listings andtransmit the selected advertisements to the media listing display source418 via the communications network 414. The media listing display source418 may then organize the received advertisements and the content of themedia listing and transmit them to the user equipment 402 viacommunications network 414.

The cloud provides access to services, such as content storage, contentsharing, or social networking services, among other examples, as well asaccess to any content described above, for user equipment devices.Services can be provided in the cloud through cloud computing serviceproviders, or through other providers of online services. For example,the cloud-based services can include a content storage service, acontent sharing site, a social networking site, or other services viawhich user-sourced content is distributed for viewing by others onconnected devices. These cloud-based services may allow a user equipmentdevice to store content to the cloud and to receive content from thecloud rather than storing content locally and accessing locally-storedcontent. In some embodiments, the user equipment device itself is acloud resource, and other user equipment devices can access the contentdirectly from the user equipment device on which the user stored thecontent.

Cloud resources may be accessed by a user equipment device using, forexample, a web browser, a media guidance application, a desktopapplication, a mobile application, and/or any combination of accessapplications or the same. The user equipment device may be a cloudclient that relies on cloud computing for application delivery, or theuser equipment device may have some functionality without access tocloud resources. For example, some applications running on the userequipment device may be cloud applications, i.e., applications deliveredas a service over the Internet, while other applications may be storedand run on the user equipment device. In some embodiments, a user devicemay receive content from multiple cloud resources simultaneously. Forexample, a user device can stream audio from one cloud resource whiledownloading content from a second cloud resource. Or, a user device candownload content from multiple cloud resources for more efficientdownloading. In some embodiments, user equipment devices can use cloudresources for processing operations such as the processing operationsperformed by processing circuitry described in relation to FIG. 3.

As discussed herein, methods and systems are described for transmittingor receiving multiple versions of an advertisement associated with amedia listing substantially simultaneously in order to optimizetransitions between advertisements and media content.

In some embodiments, multiple versions of an advertisement associatedwith a media listing, or the media itself, may be substantiallysimultaneously transmitted in order to provide seamless transitions of“pre-roll” advertisements and between advertisements and media contentas shown in FIG. 5.

For example, when a user launches a web-site, which contains a medialisting (Time=0), three versions of an advertisement associated withthat media listing begin to be transmitted. For example, Version A has aplay rate of 3 Mbps, Version B has a play rate of 1 Mbps, and Version Chas a play rate of 0.5 Mbps. The play length of each version is thirtyseconds, and each version is allocated 1 Mbps of the 3 Mbps bandwidth.By the time the user makes a selection (Time=20), only Version C hassufficiently transmitted. In this case Version C may be the version ofthe advertisement that is presented to the user.

FIG. 6 displays a block diagram of an illustrative media system inaccordance with some embodiments of the disclosure. In some embodiments,the method and systems comprise generating a display of a media listingon a user device and identifying an advertisement associated with thatlisting. The advertisement and media listing may be located on a remotedevice. While a user is presented with the listing, multiple versions ofthe advertisement may be transmitted substantially simultaneously fromthe remote device to the user device. The length of time between thetransmission of the advertisement versions and reception of the user'smedia selection on the user device may also be determined. Based on thisdetermination, a particular version of the advertisement may be selectedby a remote device to be displayed with the user's selected mediacontent on the user device.

In FIG. 6, a user operates a user device 610 to interact with acommunications network 670. The user device 610 may be any devicesuitable for supporting communications between user device 610 and medialisting display source 630, media listing database 640, advertisementsource 650, advertisement database 660, or remote server 620 via thecommunications network 670. The user device 610 may comprise a processor611, a storage or memory device 616, a user input interface 612, adisplay screen 613, an application for streaming media application 614and a transport processor 615.

The communications network 670 may be one or more networks including theInternet, a mobile phone network, mobile voice or data network (e.g., a4G or LTE network), cable network, public switched telephone network, orother types of communications network or combinations of communicationsnetworks. Paths 671, 672, 673 and 674 may separately or together includeone or more communications paths, such as, a satellite path, afiber-optic path, a cable path, a path that supports Internetcommunications (e.g., IPTV), free-space connections (e.g., for broadcastor other wireless signals), or any other suitable wired or wirelesscommunications path or combination of such paths.

The communications network 670 is further connected to advertisementsource 650, media listing source 630, and remote server 620.Advertisement source 650 includes a processor 651, storage or memory 652and transport processor 653. Advertisement source 650 may furtherinclude, or be connected via connection 654, to an advertisementdatabase 660. The advertisement database 660 may include anadvertisement 661, a segmenter 662, segmented advertisements 663, and anadvertisement scheduler 664.

The communications network 670 is further connected to media listingsource 630, which may include a processor 631, storage or memory 632 andtransport processor 633. The media listing source 630 may furtherinclude media content 641, a segmenter 642, media content segments 643,and a content scheduler 644.

The communications network 670 is further connected to a remote server620. The remote server 620 may include a processor 622, storage ormemory 621, and a transport processor 623. In some embodiments, theremote server may further include the advertisement source 650 and/orthe media listing source 630.

In some embodiments, a user may control the user device 610 through theuser input interface 612. The processor 611 processes the commands usingcontrol circuitry, which may include directing the transport processor615 to access the communications network. The user device 610 maycommunicate with the advertisement source 650, the media listing source630, or the remote server 620. In response, the user device 610 mayretrieve information that is stored in the memory 616 of the user device610 or present media on the display 613 of the user device 610 using themedia streaming application 614 of the user device 610.

In some embodiments, the user device 610 communicates with the remoteserver 620. The remote server 620 may retrieve a user profile from thememory 616 of the user device 610, the memory 621 of the remote server620, or any other point accessible via the communications network 670,such as the advertisement source 650 or the media listing source 630.The remote server 620 may also receive a request from the user device610 for media content 641 from the media listing source 630.Alternatively, the user device may contact the media listing source 630directly. The processor 631 of the media listing source 630 may processthe request. The media content 641 may be located at the memory 632 ofthe media listing source 630 or may be located at the media listingdatabase 640. The media listing database may contain the media content641. The media content 641 may also be stored in a media content sourcefound within the media listing source 630.

The media listing database 640 may create media content segments 643 byusing the segmenter 642. The media content segments 643 are portions ofthe individual media content 641. The media content segments 643, whendisplayed in series, constitute media content 641. For example, a thirtysecond media content 641 may comprise ten media content segments 643each with a three second play length. Alternatively, a thirty secondmedia content 641 may comprise three media content segments 643 eachwith a ten second play length. Furthermore, a thirty second mediacontent 641 may comprise any number of media content segments 643 eachwith different play lengths that sum to thirty seconds.

Each media content 641 version may comprise media content segments 643.The media content segments 643, whether from a single version of themedia content 641 or multiple versions of the media content 641, may bearranged using a content scheduler 644 into a single media content 641.The media listing source 630 may transmit the media content segments 643to the remote server 620, the advertisement source 650, or the userdevice 610. The remote server 620 may determine that the media content641 should be associated with advertisement 661 based on the userprofile.

Alternatively, the remote server 620 may transmit the user profile andmedia content 641 to the advertisement source 650, where theadvertisement source 650 will determine what advertisement to associatewith the media content 641. In some embodiments, the user device 610 maydetermine an advertisement 661 to associate with the media content 641.In some embodiments, the advertisement 661 may be selected withoutregard to the user profile. In some embodiments, the advertisement 661may be selected based on preferences of an advertiser or the provider ofmedia content 641.

The remote server 620 may request advertisement 661 from theadvertisement source 650. The processor 651 may receive the request andretrieve the advertisement 661. The advertisement 661 may be located atmemory 652 of the advertisement source 650. The advertisement source 650may use the transport processor 653 to request the advertisement fromthe advertisement database 660. The segmenter 662 may createadvertisement segments 663 from the advertisement 661. The advertisementsegments 663 are portions of the individual advertisement 661. Theadvertisement segments 663, when displayed in series, constitute anadvertisement 661.

Each advertisement 661 version may comprise multiple advertisementsegments 663. For example, a thirty second advertisement 661 maycomprise ten advertisement segments 663 each with a three second playlength. Alternatively, a thirty second advertisement 661 may comprisethree advertisement segments 663 each with a ten second play length.Furthermore, a thirty second advertisement 661 may comprise any numberof advertisement segments 663 each with different play lengths that sumto thirty seconds.

The advertisement segments 663, whether from a single version of anadvertisement 661 or multiple versions of an advertisement 661, may bearranged using an advertisement scheduler 664 into a singleadvertisement 661. The advertisement segments 663 may also be arrangedwith the media content segments 643 using the advertisement scheduler664. The advertisement source 650 may transmit the arrangedadvertisement segments 663 and media content segments 643 to the remoteserver 620, the media listing source 630, or the user device 610. Theremote server 620 may combine the advertisement segments 663 and themedia content segments 643 using the processor 622 on the remote server620 and transmit them to the user device via the communications network.Alternatively, the advertisement segments 663 and the media contentsegments 643 may be combined at the advertisement source 650, the medialisting source 630, or the user device 610.

The user device 610 may receive the advertisement segments 663 and themedia content segments 643 via the transport processor 615 of the userdevice 610 and may use the media streaming application 614 to decode andplay the advertisement segments 663 and the media content segments 643on the display 613 of the user device 610.

FIG. 7 is a flow-chart of illustrative steps involved in providingadvertisements in a media system in accordance with some embodiments ofthe disclosure. FIG. 7 illustrates the steps of determining whether ornot a particular version of an advertisement should be selected,including whether or not a particular version has been sufficientlytransmitted.

At step 710, the system may generate a display of a media listing on theuser device 610 (FIG. 6). The media listing may be displayed alongside aplurality of listings. The listings may be organized in any fashion. Themedia content may be located at media listing source 630 (FIG. 6). Forexample, a user may access a web-site, which displays a variety ofstreaming media files. Each file may be accessed after a user selectsthe title of the media file.

At step 720, the remote server 620 (FIG. 6) may identify anadvertisement associated with the media listing. The remote server 620(FIG. 6) may identify the advertisement locally or may transmit, receiveor retrieve information via the communications network 670 (FIG. 6). Theremote server 620 (FIG. 6) may identify the advertisement based on auser profile or a user history. In addition, the remote server may use aselection criterion or algorithm related to the media content.

The remote server may further determine what versions of theadvertisement should be transmitted. For example, versions of theadvertisement may differ by quality, file size or format. The remoteserver may further base the selection of versions on the user profile,user history, environmental factors, or a selection criterion oralgorithm.

The quality of the connection between the user device 610 (FIG. 6),remote server 620 (FIG. 6), or any device accessible via thecommunications network 670 (FIG. 6) may also affect the versionselected. The quality of the connection refers to the bit rate that maybe transmitted at a particular time. A high bit rate relative to thetypical bit rate capable of being transmitted, or the typical bit rateitself, may indicate that the quality of the connection is good. Incontrast, a low bit rate relative to the typical bit rate capable ofbeing transmitted would indicate that the quality of the connection isbad.

The quality of the connection may also consider packet loss and biterrors. Packet loss occurs when one or more packets of data travellingacross a computer network fail to reach their destination. Bit errorsare the number of received bits of a data stream over a communicationchannel that have been altered due to noise, which is the randomfluctuation in electric signals, interference, distortion or bitsynchronization errors.

The quality of the connection may be measured through the use ofsoftware such as BWPing or any other suitable method, for example, anysuitable tool that measures bandwidth and response times between twohosts using Internet Control Message Protocol (ICMP) using an echorequest/echo reply mechanism.

For example, if the quality of the connection between the user device610 (FIG. 6) and the communications network 670 (FIG. 6) is relativelygood, the selected versions may have better quality. Alternatively, ifthe quality of the connection between the user device 610 (FIG. 6) andthe communications network 670 (FIG. 6) is relatively bad, the selectedversion may have lower quality. In some embodiments, the user profile orhistory may further affect the selection of versions. For example, ifthe user is likely to make a media listing selection quickly, theselected versions may be those that transmit more quickly.

At steps 730 and 740, a first version and a second version of theadvertisement are transmitted to the user device 610 (FIG. 6). Thetransmission is substantially simultaneous and may occur via a singlemeans of transmission. For example, the transmission of the first andsecond version of the advertisement may share the bandwidth of a singleconnection between the user device 610 (FIG. 6) and the communicationsnetwork 670 (FIG. 6). The amount of bandwidth allocated to thetransmission of either version may vary as explained in more detailedbelow. Furthermore, in some embodiments, the transmission of one versionmay also stop, until the transmission of the other version is complete.In some embodiments, three or more versions may be transmittedsubstantially simultaneously.

At step 750, the user device 610 (FIG. 6) receives a user selection of amedia listing. As the transmission of the versions of the advertisementhas already initiated, one version of the advertisement should besufficiently transmitted to pre-roll before the media content related tothe media listing begins. Sufficiently transmitted means that a break incontinuity (e.g., a jitter, jump or pause) that a user experiencesduring the presentation of an advertisement or media content issubstantially minimized given the network conditions.

For example, an advertisement may be sufficiently transmitted when theentire advertisement is buffered in memory 616 (FIG. 6) of user device610 (FIG. 6), or an advertisement may be sufficiently transmitted whenthe amount of the advertisement buffered in memory 616 (FIG. 6) of userdevice 610 (FIG. 6) may allow the advertisement to be presented withoutbreaks in continuity (e.g., jitters, jumps or pauses) given how much ofthe advertisement or media content remains to be transmitted and thenetwork conditions.

At step 760, the remote server 620 (FIG. 6) or the user device 610 (FIG.6) will determine whether the first version is sufficiently transmitted.If so, the remote server 620 (FIG. 6) may generate instructions topresent the first version of the advertisement on the user device instep 780. If the first version is not sufficiently transmitted, thesecond version of the advertisement is presented on the user device 610(FIG. 6) in step 770. It should be noted, some of the above steps may beexecuted or performed substantially simultaneously where appropriate orin parallel to reduce latency and processing times.

FIG. 8A is a flow-chart of illustrative steps involved in providingadvertisements in a media system in accordance with some embodiments ofthe disclosure, which further includes incorporating advertisementsegments. In some embodiments, after beginning to present one version ofthe advertisement, a point (i.e. the beginning, middle or end of asegment) may be determined for stopping the version currently beingpresented and begin presenting an un-presented version.

For example, the thirty second advertisement may have a high qualityversion and a low quality version. Furthermore, each version of thethirty second advertisement may comprise a series of ten advertisementsegments, each advertisement segment having three second play lengths.The first advertisement segments begins transmission when the useraccesses the media listings (T=0). After five seconds (T=5), both thefirst segment of the high quality version of the advertisement and thefirst and second segments of the low quality version of theadvertisement may be sufficiently transmitted. Therefore, the highquality version could be presented for the first segment and the lowquality version could be presented for the second segment. Thedetermination point would then be at the end of the first segment.

The determination of the point may be based upon the length of timebetween the transmission of the advertisement versions and reception ofthe user's media selection, the progress of the transmission, or thequality of the media content. The determination of the point may alsoconsider past, current and future link speed, user profiles andhistories, environmental factors or other additional factors.

In some embodiments, a first and second version of an advertisement maybe transmitted. The first and second versions may further be comprisedof a series of segments (i.e. first, second, third, etc.). For example,a thirty second advertisement may comprise ten segments each with athree second play length. After playing the first segment of the firstversion of the advertisement, an increase (or decrease) in the availablebandwidth may allow (or necessitate) presenting the second segment ofthe second version of the advertisement.

In some embodiments, step 810 may generate a display of a media listingon the user device 610 (FIG. 6). At step 820, the remote server 620(FIG. 6) may identify an advertisement associated with the medialisting. The remote server 620 (FIG. 6) may identify the advertisementlocally or may transmit, receive or retrieve information via thecommunications network 670 (FIG. 6). The remote server 620 (FIG. 6) mayidentify the advertisement based on a user profile or a user history, orany of the means discussed above.

In some embodiments, the remote server 620 (FIG. 6) may further requestadvertisement 661 from the advertisement source 650 (FIG. 6) betransmitted in advertisement segments 663 (FIG. 6) using the segmenter662. The advertisement segments 663 (FIG. 6) may be arranged using anadvertisement scheduler 664 (FIG. 6). The advertisement segments 663(FIG. 6) may then be transmitted to the remote server 620 (FIG. 6).

At steps 830, 831 and 832 several versions of the advertisement segmentsare transmitted to the user device 610 (FIG. 6) from the remote server620 (FIG. 6). Any number of versions may be transmitted, and eachversion may vary by quality, file size or format. In FIG. 8A, a highquality segment at 830, a medium quality segment at 813, and a lowquality segment at 832 are substantially simultaneously transmitted.

At step 840, the user device 610 (FIG. 6) receives a user selection of amedia listing. As the transmission of the versions of the advertisementhas already initiated, one version of the advertisement segment shouldbe sufficiently transmitted to pre-roll before the media content relatedto the media listing begins.

At step 850, the remote server 620 (FIG. 6) or the user device 610 (FIG.6) will determine whether the initial version, or the next high qualityversion in subsequent iterations, of the advertisement segment issufficiently transmitted. If so, the remote server 620 (FIG. 6) maygenerate instructions to present the next high quality version of theadvertisement segment on the user device in step 860. If the next highquality version of the advertisement segment is not sufficientlytransmitted, the remote server 620 (FIG. 6) or the user device 610 (FIG.6) will determine if the next medium quality version of theadvertisement segment is sufficiently transmitted at step 870. If so,the remote server 620 (FIG. 6) may generate instructions to present thenext medium quality version of the advertisement segment on the userdevice in step 880. If the next medium quality version of theadvertisement segment is not sufficiently transmitted, the remote server620 (FIG. 6) may generate instructions to present the next low qualityversion of the advertisement segment at 890.

After the initial advertisement segment has played the system maydetermine whether the next high quality version of the advertisementsegment is sufficiently transmitted at step 850. The iterations maycontinue until all advertisement segments are displayed. It should beunderstood that the above steps of the flow diagrams of FIG. 8A may beexecuted or performed in any order or sequence not limited to the orderand sequence shown and described in the figures. Also, some of the abovesteps of the flow diagrams of FIG. 8A may be executed or performedsubstantially simultaneously where appropriate or in parallel to reducelatency and processing times. Furthermore, in some embodiments thepriority of the versions may change depending on the user profile orenvironment factors as discussed above.

FIG. 8B is a flow-chart of illustrative steps involved in providingadvertisements in a media system in accordance with some embodiments ofthe disclosure, which further includes determining a point for stoppingthe version currently being presented and presenting another version.

For example, a thirty second advertisement, with a high quality versionand a low quality version, may be transmitted. The system may determinethat due to bandwidth constraints only the first ten seconds of the highquality version of the advertisement may be sufficiently transmitted,but the remaining twenty seconds of the low quality version of theadvertisement may be sufficiently transmitted. The system thensubstantially simultaneously transmits the first ten seconds of the highquality version and the last twenty seconds of the low quality versionof the advertisement. Consequently, the system may present the highquality version for the first ten seconds and then switch to the lowquality version of the advertisement for the remaining twenty seconds ofthe advertisement.

In some embodiments, only certain segments of the first and secondversion of the advertisement may be transmitted. For example, a highquality version of the first segment of an advertisement may begin to betransmitted, while the second segment of the low quality version of theadvertisement is transmitted substantially simultaneously.Alternatively, the first segment of the high quality version of theadvertisement may be transmitted while the third segment of the lowquality version of the advertisement is transmitted. Upon sufficientlytransmitting either the first segment of the high quality version of theadvertisement or the third segment of the low quality version of theadvertisement, a determination of whether to transmit the second segmentof the high quality version of the advertisement or the second segmentof the low quality version of the advertisement can be made.

FIG. 8B illustrates steps involved determining a point for stopping theversion currently being presented and presenting another version. Atstep 811, the system may analyze the network conditions. For example,the user device 610 (FIG. 6) or the remote server 620 (FIG. 6) maymeasure the available bandwidth using suitable methods as discussedabove. The user device 610 (FIG. 6) or the remote server 620 (FIG. 6)may also consider historical, environmental, geographic or industryinformation in determining the network conditions.

At step 821, the user device 610 (FIG. 6) or the remote server 620 (FIG.6) may determine the likely amount of time between the beginning of thetransmission of an advertisement and the selection of a media content bythe user. The user device 610 (FIG. 6) or the remote server 620 (FIG. 6)may make this determination by any of the factors discussed above. Forexample, the remote server 620 (FIG. 6) may analyze the user history todetermine the typical length of time the user takes to make a selection.

At step 841, the system determines, based on the time determination instep 821, the amount of the first version of an advertisement can betransmitted before the user selection. For example, the system may tryto maximize the amount of time that a high quality version of theadvertisement is presented. If the high quality version of theadvertisement cannot be sufficiently transmitted, the system may replacethe portion of the high quality version of the advertisement that wasnot transmitted with a low quality version of the advertisement.

At step 851, the system assigns a point during the play length of thefirst version of the advertisement that correlates to a projection ofthe amount of the first version of the advertisement that may besufficiently transmitted. For example, the system may project that onlyhalf of the first version may be sufficiently transmitted. Therefore,the system will assign the fifteen second mark of the first version ofthe advertisement as the determined point.

Substantially simultaneously, the system transmits the first version ofthe advertisement from the beginning of the advertisement to the pointdetermined at step 861 and transmits the second version of theadvertisement from the determined point to the end of the advertisement.For example, the remote server 620 (FIG. 6) may transmit the highquality version of the advertisement from the beginning of theadvertisement to the fifteen second mark. Substantially simultaneously,the system may transmit the low quality version from the fifteen secondmark on.

At step 881, the system receives the user selection of media content.For example, the user may input a selection into the user input 612(FIG. 6) of the user device 610 (FIG. 6). At step 891, the display 613(FIG. 6) of the user device 610 (FIG. 6) may present the first versionof the advertisement from the beginning of the advertisement to thedetermined point (e.g., from the beginning until the fifteen secondmark). At step 894, the display 613 (FIG. 6) of the user device 610(FIG. 6) may begin presentation of the second version after thedetermined point (e.g., from the fifteen second mark until the end).

FIG. 8C is a flow-chart of illustrative steps involved in providingadvertisements in a media system in accordance with some embodiments ofthe disclosure, which further includes transmitting segments in reverse.In some embodiments, a version may be transmitted in reverse (e.g., thedata related to the end of the segment is transmitted before the datarelated the beginning of the segment). For example, a high qualityversion of an advertisement may be transmitted beginning-to-end, whilethe low quality version of the advertisement is transmittedend-to-beginning, substantially simultaneously.

In some embodiments, step 816 may generate a display of a media listingon the user device 610 (FIG. 6). At step 826, the remote server 620(FIG. 6) may identify an advertisement associated with the medialisting. The remote server 620 (FIG. 6) may identify the advertisementlocally or may transmit, receive or retrieve information via thecommunications network 670 (FIG. 6). The remote server 620 (FIG. 6) mayidentify the advertisement based on a user profile or a user history, orany of the means discussed above.

Substantially simultaneously, the system transmits the first version ofthe advertisement from the beginning of the advertisement at step 861and transmits the second version of the advertisement from the end ofthe advertisement at step 871. For example, in a thirty secondadvertisement, the system may transmit the high quality version of theadvertisement beginning with second one, then two, and then three.Substantially simultaneously, the system may transmit the low qualityversion starting with second 30, then second 29, and then second 28.

At step 856, the system receives the user selection of media content.For example, the user may input a selection into the user input 612(FIG. 6) of the user device 610 (FIG. 6). At step 886, the systemdetermines the point where the transmissions of the two versions of theadvertisements overlap. The point may be determined by any of the meansdescribed in relation to FIG. 8B or any other embodiment herein. Forexample, in a thirty second advertisement, if the low quality versiontransmits twice as fast and the high quality version, the point ofoverlap may come at the ten second mark of the advertisement's playlength.

At step 896, the display 613 (FIG. 6) of the user device 610 (FIG. 6)may present the first version of the advertisement from the beginning ofthe advertisement to the determined point (e.g., from the beginninguntil the ten second mark). At step 898, the display 613 (FIG. 6) of theuser device 610 (FIG. 6) may begin presentation of the second versionafter the determined point (e.g., from the ten second mark until theend).

FIG. 9 is a flow-chart of illustrative steps involved in selecting aversion of an advertisement and media content in some embodiments. FIG.9 includes the option of determining whether environmental conditionsshould prevent a transmitted advertisement from being presented. Itshould be noted, any number of versions of an advertisement may betransmitted, and each version may vary by quality, file size or format.

In some embodiments, prior to step 910, three versions are transmittedsubstantially simultaneously—a high quality version, a medium qualityversion, and a low quality version. At step 910, the user device 610(FIG. 6) receives a selection of media content, for example, a video. Atstep 920, the remote server 620 (FIG. 6) or the user device 610 (FIG. 6)determines whether the high quality version of the advertisement issufficiently transmitted.

Determining whether a version is sufficiently transmitted may involvemeasuring a length of time between the transmitting of the versions ofthe advertisement and the receipt of the user selection. This isparticularly important when streaming media content or advertisements.Streaming is the process of making a sequence of data elements availableover time.

By allocating the available bandwidth, which is typically measured inbit per second, the remote server 620 (FIG. 6) or the user device 610(FIG. 6) may determine the length of time required to transmit a file ofany given size. Furthermore, the remote server 620 (FIG. 6) or the userdevice 610 (FIG. 6) may know, based on a user profile or history, thelikeliest length of time that a user will take to make a selection. Forexample, the user profile may contain a history of the user's previousvisits to the display of media listings (e.g., web-site, VOD listingpage, etc.), and compute the average time the user took to select amedia listing. Additionally, other factors such as the particular date,time, number of media listings and content may affect the computation.In addition to computing the average time, the particular algorithm usedmay base its computation on the mode, median, statistical probabilities,incorporating measures of variability and diversity such as standarddeviation, or other suitable methods.

In addition, if an advertisement or media content is presented, theremote server 620 (FIG. 6) or the user device 610 (FIG. 6) may determinethe length of the advertisement or media content. If the advertisementor media content can be transmitted faster (i.e. more bits per second)than its play length, also measured in bits per second, the user device610 (FIG. 6) may temporarily store the advertisement or media content onthe memory 616 (FIG. 6) of user device 610 (FIG. 6). Therefore, even ifthere is a temporary interruption or decrease in the bandwidth, themedia content or advertisement can continue to be presented withoutinterruption. Bandwidth allocation is described in greater detail inU.S. patent application Ser. No. 13/207,390 to Craner, U.S. patentapplication Ser. No. 11/600,936 to Ferrone et al., and U.S. Pat. No.6,177,931 issued on Jan. 23, 2001 to Alexander et al., which are herebyincorporated by reference in their entirety.

At step 920, if the high quality version of the advertisement is notsufficiently transmitted, the user device 610 (FIG. 6) may determine ifthe medium quality version of the advertisement is sufficientlytransmitted (e.g., in a minimum amount of buffer) at step 925. If not,the user device 610 (FIG. 6) may present the low quality version of theadvertisement at step 930. While the user device 610 (FIG. 6) ispresenting the low quality version of the advertisement, the user device610 (FIG. 6) may begin transmitting at least the low quality version ofthe video the user selected in step 910. In some instances, even thelowest quality version of the advertisement may not be sufficientlytransmitted. In such a case, it may be preferable to present the versionof the advertisement that may be transmitted the quickest, which may infact be the low quality version of the advertisement. By minimizing thetime to transmit the advertisement, the interruption to the user in alsominimized.

At step 920, if the high quality version is in buffer, the user device610 (FIG. 6) may optionally determine if environmental conditionssupport a high quality version of the video. Environmental conditionsmay relate to the past, present, or future bandwidth allocations, mayrelate to the likelihood of interruptions to the bandwidth both duringthe transmissions of advertisements and of media content, or may relateto the allocation of the buffer of the memory 616 (FIG. 6) on the userdevice 610 (FIG. 6), the memory 621 (FIG. 6) on the remote server 620(FIG. 6), or any device accessible via the communications network 670(FIG. 6). Environmental conditions may further be affected by time, dateor location. For example, at step 935, the environmental conditions maysupport the transmission of the high quality version of the video theuser selected in step 910. In this case, the high quality version of theadvertisement may be presented, and the high quality video may begin tobe transmitted at step 950.

However, if the environmental conditions do not support the high qualityvideo, a high quality advertisement may make the lower quality videoaesthetically unpleasing. Therefore, the user device 610 (FIG. 6) woulddetermine if the environmental conditions supported a medium qualityversion of the video at step 940. If not, the user device 610 (FIG. 6)may present the low quality version of the advertisement and begintransmitting at least a low quality version of the user selected videoof step 910. If the environmental conditions do support the mediumquality version of the video at step 940, the medium quality version ofthe advertisement may be present at step 955. While the medium qualityversion of the advertisement is presented, at least a medium qualityversion of the video will begin to be transmitted.

In step 960 the high quality version of the video is presented. Whilethe video is being presented, the user device 610 (FIG. 6) may transmitthe various versions of the next advertisement, and the process may berepeated starting at step 920. In step 970, the medium quality versionof the video is presented. While the video is being presented the userdevice 610 (FIG. 6) may transmit the various versions of the nextadvertisement, and the process may be repeated starting at step 920. Instep 945, the low quality version of the video is presented. While thevideo is being presented, the user device 610 (FIG. 6) may transmit thevarious versions of the next advertisement, and the process may berepeated starting at step 920.

In some embodiments, the memory 616 (FIG. 6) in the user device 610(FIG. 6), the memory 621 (FIG. 6) in the remote server 620 (FIG. 6), orany device accessible via the communications network 670 (FIG. 6) maycomprise both the buffer for the advertisement content and the mediacontent, and the total amount of buffer may be limited. Therefore, insome embodiments, the allocation of bandwidth as discussed below in FIG.10 and throughout this disclosure may additionally weigh the amount ofavailable buffer space when allocating the bandwidth to advertisementcontent and media content, or particular versions of either. Forexample, a certain amount of buffer in the memory 616 (FIG. 6) in theuser device 610 (FIG. 6) may be reserved for advertisement content ormay be reserved for media content.

In addition, the rate at which the buffer fills and empties may also beused to allocate the available bandwidth as discussed below in FIG. 10and throughout this disclosure. For example, the buffer may fill at ahigh rate while an advertisement is transmitted at a high rate. Thebuffer may alternatively fill at a low rate while an advertisement istransmitted at a low rate. The buffer may also empty at a particularrate. The emptying rate may be the bit rate of a particular version asthe particular version is played (e.g., a high quality version may emptythe buffer at a higher rate than a low quality advertisement). Aschanges in bandwidth and allocation occur, the buffer may fill and emptyat different rates. Therefore, the memory 616 (FIG. 6) in the userdevice 610 (FIG. 6), the memory 621 (FIG. 6) in the remote server 620(FIG. 6), or any device accessible via the communications network 670(FIG. 6) may determine a need to adjust the bandwidth allocation ofparticular versions of advertisements or media content.

For example, a high quality media content may have been sufficientlytransmitted and is currently being buffered on the memory 616 (FIG. 6)in the user device 610 (FIG. 6). The high quality media content may notbe playing yet (e.g., the pre-roll advertisement may still be playing),but the memory 616 (FIG. 6) in the user device 610 (FIG. 6) may begin tobuffer the next advertisement (i.e. the advertisement due to playsubsequent to the high quality media currently in the buffer). Becausethe buffer is not yet emptying the high quality media content, thebuffer may be reaching its capacity. Therefore, the user device 610(FIG. 6) may begin transmitting the low quality version of the nextadvertisement (as it may require less buffer space) even though thebandwidth needed for the higher quality version is available.

Furthermore, using the filling and emptying rate of the buffer, inaddition to the play length of the advertisement or media content (e.g.,to determine when the buffer will empty), the system may determine apoint in the advertisement or media content (or alternatively the amountof data of either) that the system has the capacity to buffer. Usingthese calculations, the system can optimize the particular attributes(e.g., the amount of a high quality version of the media content thatcan be shown).

FIG. 10 is a flow-chart of illustrative steps involved in allocatingbandwidth in some embodiments of the disclosure. In addition toproviding multiple versions of an advertisement substantiallysimultaneously, in some embodiments the system may allocate theavailable bandwidth to prioritize or prefer a particular version. Thisis helpful in maximizing the likelihood that a user will be able to viewthe preferred version, while ensuring that at least one version of theadvertisement will be sufficiently transmitted. The allocation can occurin real-time (e.g., during transmission) and the bandwidth may becontinuously monitored.

In some embodiments, the remote server 620 (FIG. 6) or the user device610 (FIG. 6) has identified an advertisement associated with a listingat step 1010. Substantially simultaneously, the remote server 620 (FIG.6) or any device connected via the communications network 670 (FIG. 6)transmits, or the user device 610 (FIG. 6) receives, a high qualityversion of an advertisement in step 1015 and a low quality advertisementin step 1046. In some embodiments, three or more versions may besubstantially simultaneously transmitted. Only two versions were used inFIG. 10 in order to not overcomplicate the figure.

At step 1025, the remote server 620 (FIG. 6), any device accessible viathe communications network 670 (FIG. 6), or the user device 610 (FIG. 6)makes an initial bandwidth determination relative to the data that needsto be transmitted. This initial determination as well as subsequentdeterminations may include numerous factors. For example, environmentalconditions such as the current bandwidth and the likelihood ofinterruptions to the bandwidth may be compared with the likelihood thata given quality version may be sufficiently transmitted in a given timeperiod. The time period may be based on the time until a user selectionor the length of a currently playing advertisement or media content.Additionally, there may be user preferences that prefer higher qualityadvertisements and media content. In this case, the user may be lesslikely to abandon the view, if there is a delay in the start of theadvertisement or media content.

In some embodiments, step 1025 determines if the bandwidth is high orsufficient relative to the amount of data that must be transmitted inthe advertisement in the given period of time. If the bandwidth is high,the likelihood that the high quality version will ultimately bedisplayed is also high. Therefore, the remote server 620 (FIG. 6), anydevice accessible via the communications network 670 (FIG. 6), or theuser device 610 (FIG. 6) may allocate more bandwidth to the high qualityversion of the advertisement at step 1020. In contrast, if the bandwidthis low, the likelihood that the high quality version will ultimately bedisplayed is also low. Therefore, the remote server 620 (FIG. 6) or theuser device 610 (FIG. 6) may allocate less bandwidth to the high qualityversion of the advertisement at step 1020.

The remote server 620 (FIG. 6) or the user device 610 (FIG. 6) mayperiodically or continually monitor for bandwidth changes and adjust theallocation as necessary. Alternatively, the remote server 620 (FIG. 6)or the user device 610 (FIG. 6) may adjust the allocation any time thereis a change in bandwidth, user profile or environmental factors.

At step 1034, the remote server 620 (FIG. 6) or the user device 610(FIG. 6) may determine whether the bandwidth has decreased. If thebandwidth has decreased, the likelihood that the high quality versionwill ultimately be displayed is lowered. Therefore, the remote server620 (FIG. 6) or the user device 610 (FIG. 6) may allocate less bandwidthto the high quality version of the advertisement at step 1032. Incontrast, if the bandwidth has not decreased, the likelihood that thehigh quality version will ultimately be displayed is higher or at leastnot lower. Therefore, the remote server 620 (FIG. 6) or the user device610 (FIG. 6) may maintain or increase the bandwidth to the high qualityversion of the advertisement at step 1036.

The remote server 620 (FIG. 6) or the user device 610 (FIG. 6) continuesto periodically or continually monitor for bandwidth changes and adjustthe allocation as necessary. At step 1040, the remote server 620 (FIG.6) or the user device 610 (FIG. 6) determines whether or not thebandwidth has risen. If the bandwidth has risen, the likelihood that thehigh quality version will ultimately be displayed is higher. Therefore,the remote server 620 (FIG. 6) or the user device 610 (FIG. 6) mayallocate more bandwidth to the high quality version of the advertisementat step 1038. In contrast, if the bandwidth has not risen, thelikelihood that the high quality version will ultimately be displayed islower or at least not higher. Therefore, the remote server 620 (FIG. 6)or the user device 610 (FIG. 6) may lower or maintain the bandwidthallocated to the high quality version of the advertisement at step 1042.

The progress of the transmission may further augment the selectionprocess. For example, if the remote server 620 (FIG. 6) or the userdevice 610 (FIG. 6) determines that the high quality version is almostcompletely transmitted, then an increase (or at least not a decrease) inbandwidth is a better predictor that the transmission will be completedthan if the increase is determined near the beginning of thetransmission. If the increase is determined near the beginning of thetransmission, then there is a greater likelihood (i.e. more time for asubsequent lowering of the bandwidth or a complete interruption) thatthe transmission is not completed. Therefore, the remote server 620(FIG. 6) or the user device 610 (FIG. 6) may maintain or increase thebandwidth to the high quality version of the advertisement at step 1042.

At step 1044, the remote server 620 (FIG. 6) or the user device 610(FIG. 6) may receive a user selection. This could occur through an inputby the user into the user input interface 612 (FIG. 6) on the userdevice 610 or automatically based on an amount of lapsed time, userhistory or profile, or instructions from the remote server 620 (FIG. 6).If there is not a user selection at step 1044, then the remote server620 (FIG. 6) or the user device 610 (FIG. 6) may proceed through anotheriteration beginning at step 1025. In this case, a determination can onceagain be made based on the amount of available bandwidth relative to thedata that needs to be transmitted. As the amount of available bandwidthis measured relative to the amount of data that needs to be transmitted,the determinations may be augmented during multiple iterations. Forexample, if the high quality version of the advertisement has alreadybeen sufficiently transmitted, the determination steps 1025, 1034 and1040 may augment the algorithm or criteria to transmit the low qualityversion of the advertisement.

At step 1046, the remote server 620 (FIG. 6) or the user device 610(FIG. 6) makes an initial bandwidth determination for the low qualityversion of the advertisement. This initial determination as well assubsequent determinations may include numerous factors. For example,environmental conditions such as the current bandwidth and thelikelihood (based on industry, geographic or user history) ofinterruptions to the bandwidth may be compared with the likelihood thata given quality version may be sufficiently transmitted in a given timeperiod. The time period may be based on the time until a user selectionor the length of a currently playing advertisement or media content.

In some embodiments, step 1050 determines if the bandwidth is low orsufficient relative to the amount of data that must be transmitted inthe advertisement in the given period of time. If the bandwidth is low,the likelihood that the low quality version will ultimately be displayedis higher as it may be more difficult to sufficiently transmit the highquality version of the advertisement. Therefore, the remote server 620(FIG. 6) or the user device 610 (FIG. 6) may allocate more bandwidth tothe low quality version of the advertisement at step 1048. In contrast,if the bandwidth is high, the likelihood that the high quality versionwill ultimately be displayed is also higher. Therefore, the remoteserver 620 (FIG. 6) or the user device 610 (FIG. 6) may allocate lessbandwidth to the low quality version of the advertisement at step 1020.

The remote server 620 (FIG. 6) or the user device 610 (FIG. 6) mayperiodically or continually monitor for bandwidth changes and adjust theallocation as necessary. Alternatively, the remote server 620 (FIG. 6)or the user device 610 (FIG. 6) may adjust the allocation any time thereis a change in bandwidth, user profile or environmental factors.

At step 1064, the remote server 620 (FIG. 6) or the user device 610(FIG. 6) may determine whether the bandwidth has increased. If thebandwidth has increased, the likelihood that the low quality versionwill ultimately be displayed is lowered. Therefore, the remote server620 (FIG. 6) or the user device 610 (FIG. 6) may allocate less bandwidthto the low quality version of the advertisement at step 1062. Incontrast, if the bandwidth has not increased, the likelihood that thelow quality version will ultimately be displayed is higher or at leastnot lower. Therefore, the remote server 620 (FIG. 6) or the user device610 (FIG. 6) may maintain or increase the bandwidth to the low qualityversion of the advertisement at step 1066.

As the remote server 620 (FIG. 6) or the user device 610 (FIG. 6)continues to monitor for bandwidth changes and adjust the allocation asnecessary, the remote server 620 (FIG. 6) or the user device 610 (FIG.6) determines whether or not the bandwidth has decreased at step 1070.If the bandwidth has decreased, the likelihood that the low qualityversion will ultimately be displayed is higher. Therefore, the remoteserver 620 (FIG. 6) or the user device 610 (FIG. 6) may allocate morebandwidth to the low quality version of the advertisement at step 1068.

In contrast, if the bandwidth has not decreased, the likelihood that thelow quality version will ultimately be displayed is lower or at leastnot higher. Therefore, the remote server 620 (FIG. 6) or the user device610 (FIG. 6) may maintain or lower the bandwidth to the low qualityversion of the advertisement at step 1072. The progress of thetransmission may further augment the selection process as explainedabove.

At step 1074, the remote server 620 (FIG. 6) or the user device 610(FIG. 6) may receive a user selection. If there is not a user selectionat step 1074, then the remote server 620 (FIG. 6) or the user device 610(FIG. 6) may proceed through another iteration beginning at step 1050.In this case, a determination can once again be made based on the amountof available bandwidth relative to the data that needs to betransmitted. As the amount of available bandwidth is measured relativeto the amount of data that needs to be transmitted, the determinations,or underlying algorithms, may be augmented during multiple iterations.For example, if the low quality version of the advertisement has alreadybeen sufficiently transmitted, the determination steps 1050, 1064 and1070 may be augmented to transmit other versions of the advertisement,versions of media content, or any other data.

If a user request is received at step 1044 or step 1074, the remoteserver 620 (FIG. 6) or the user device 610 (FIG. 6) may determine topresent a particular version of the advertisement at step 1076. If thehigh quality version of the advertisement is sufficiently transmitted,the high quality version may be presented on the display 613 (FIG. 6) ofthe user device 610 (FIG. 6) in step 1080.

In contrast, if the high quality version is not sufficientlytransmitted, the user device 610 (FIG. 6) may present the low qualityversion of the advertisement on the display 613 (FIG. 6) of the userdevice 610 (FIG. 6). It should be understood that steps 1025, 1034,1040, 1050, 1064 and 1070 of FIG. 10 may be executed or performed in anyorder or sequence and not limited to the order and sequence shown anddescribed. Also, some of the above steps may be executed or performedsubstantially simultaneously where appropriate or in parallel to reducelatency and processing times.

FIG. 11A-F are illustrative examples of some embodiments. In FIG. 11A,three versions of an advertisement are transmitted when a user enters aweb-site, which contains media listings (Time=0). In some embodiments,the three versions may instead begin being transmitted after a specifiedduration of time determined by the remote server 620 (FIG. 6) or theuser device 610 (FIG. 6). By the time the user makes a selection(Time=20), only Version C has been sufficiently transmitted. In thiscase, Version C may be the version of the advertisement that ispresented to the user.

In FIG. 11B, the advertisement has been further divided into segments asdescribed above and shown in FIG. 8. Three versions of the advertisementsegment are transmitted when a user enters a web-site (Time=0). Afterfifteen seconds, Version A is sufficiently transmitted. The remoteserver 620 (FIG. 6) or the user device 610 (FIG. 6) may determinewhether to begin transmission of the three versions of the secondsegment of the advertisement or to complete the transmission of anyremaining versions of the first segment of the advertisement. In someembodiments, the transmission of the remaining versions of the firstsegment of the advertisement may be finished and displayed to the userin order to maintain a consistent quality throughout the segments.

The remote server 620 (FIG. 6) or the user device 610 (FIG. 6) mayfurther adjust the allocation of bandwidth to any of the versions ofeither segment as described and shown in FIG. 10. The remote server 620(FIG. 6) or the user device 610 (FIG. 6) may determine that subsequentsegments of the advertisement may not require the quality of the firstsegment as a user may not notice a drop in quality as the advertisementis presented. When the user makes a selection (T=20), Version B of thesecond segment is sufficiently transmitted, and may be the versionpresented to the user.

In FIG. 11C, three versions of an advertisement are transmitted when auser enters a website (Time=0). Ten seconds later, the user makes aselection (Time=10). Advertisement Version A and advertisement Version Bare both sufficiently transmitted. Advertisement version A may have ahigher quality than advertisement Version B, so advertisement version Amay be the version that is presented to the user. Alternatively, theremote server 620 (FIG. 6) or the user device 610 (FIG. 6) may havedetermined that the available bandwidth has suddenly decreased (Time=9).Therefore, the remote server 620 (FIG. 6) or the user device 610 (FIG.6) may determine that it is unlikely that media listing Version A, whichhas the same quality as advertisement Version A, will be sufficientlytransmitted following the thirty second presentation of advertisementVersion A. Therefore, the remote server 620 (FIG. 6) or the user device610 (FIG. 6) may determine that advertisement Version B should bepresented.

When the user selects a media listing (Time=10), advertisement Version Bis presented to the user on the user device 610 (FIG. 6). Whenadvertisement B is presented, three versions, Media Version A, MediaVersion B and Media Version C, of the user selected media content beginbeing transmitted. While advertisement version B is presented, the threemedia versions are transmitted. At the conclusion of the presentation ofAdvertisement Version B, Media Version B and Media Version C have beensufficiently transmitted; however, Media Version A has not beensufficiently transmitted. The remote server 620 (FIG. 6) or the userdevice 610 (FIG. 6) may then determine whether to present Media VersionB or Media Version C, weighing profile information, environmentalfactors, and aesthetics.

The remote server 620 (FIG. 6) or the user device 610 (FIG. 6) thendecides to present either media version B or media version C (Time=40).While either Media Version B or Media Version C is being presented, asecond advertisement may be selected for presentation. At conclusion ofAdvertisement Version B (Time=40), the remote server 620 (FIG. 6) or theuser device 610 (FIG. 6) may begin transmitting several versions of asecond advertisement. A version of the second advertisement may bepresented following a segment, or several segments, of the selectedmedia version or versions. The placement of the version of the secondadvertisement may be determined by the advertisement scheduler 664 (FIG.6). Similarly, subsequent segments of the media content may bedetermined by the content scheduler 644.

FIG. 11D shows two versions of an advertisement segment that are beingtransmitted substantially simultaneously, where one version istransmitted in reverse. In FIG. 11D, the data related to the end of thefirst segment of Version B is transmitted before the data related to thebeginning of the first segment of Version B. For example, Version A maybe a high quality version of an advertisement and may be transmittedbeginning-to-end. Substantially simultaneously, Version B, the lowquality version of the advertisement, is transmitted end-to-beginning.Furthermore, the presentation of Version A may stop at some point andVersion B may begin presentation at that point as discussed in relationto FIG. 8B.

FIG. 11E shows three different versions of three different advertisementsegments being transmitted substantially simultaneous. In FIG. 11EVersion A, Version B and Version C relate to a first segment, a secondsegment, and a third segment, respectively. While these segments may betransmitted substantially simultaneously, the segments may be presentedin series. For example, a high quality version may be transmitted for aninitial segment. The system may know that the high quality version ofthe first segment of the advertisement is likely to be sufficientlytransmitted by the time the user makes a selection (T=20). Therefore,the system transmits subsequent advertisement segments as well as theinitial advertisement segment beginning when the user accesses the medialisting (T=0). It should be noted that the subsequent segments may be ofa same or different quality.

FIG. 11F is a flow-chart of illustrative steps involved in measuring andallocating bandwidth in some embodiments of the disclosure. At step1110, the amount of available bandwidth is determined. For example, theavailable bandwidth (W_(R)) may be described in megabits per second. Theavailable bandwidth may need to equal to the sum of the bandwidthallocated to a high quality version of the advertisement (A_(R)), thelow quality version (B_(R)) and any lost bandwidth (L_(R)), each ofthese variables also measured in megabits per second. Lost bandwidth mayrefer to bandwidth used for any other purpose other than thetransmission of the advertisement version, for example, due to othermedia transmissions, packet loss, noise, etc. Therefore,A_(R)+B_(R)+L_(R)=W_(R) may represent the total allocation of thebandwidth.

At step 1111, the system may determine the likely time until a userselects a media listing (S_(T)). This determination may use any suitablestatistical method and be based on the user profile or history, inaddition to other methods described herein. At step 1112, the minimumamount of transferred data required for a version of the advertisementto be sufficiently transmitted may be determined.

For example, for the low quality version, (B_(R))(S_(T))=B_(M), whereS_(T) is the estimated time (in seconds) a user will select a medialisting, and B_(M) is the minimal amount of data for the low qualityversion to be sufficiently transmitted. The total amount of data for thecomplete presentation of the low quality version will be B_(P), whereB_(P)=B_(M)+(B_(R))(S_((A-T))), and where S_(A) is the time beforetransmitted data will be presented. For example, even if the low qualityversion is sufficiently transmitted, some data may still need to betransmitted for the low quality version (e.g., the advertisement mayneed buffer while it is playing). However, the play length associatedwith the data already transmitted for low quality version will providethe low quality version additional time to transmit un-transmittedportions (e.g., while the first portion of the advertisement ispresented, the next portion may be transmitted).

At step 1114, the system (e.g., the user device 610 (FIG. 6), the remoteserver 620 (FIG. 6) or any device accessible via the communicationsnetwork 670 (FIG. 6)) may determine the transmission rate (BR) of thelow quality version using any suitable methods. The remaining bandwidthwill equal the bandwidth allocated to the high quality version (e.g.,A_(R)=W_(R)−B_(R)−L_(R)). At step 1116, the system may determine if(B_(R))(S_(T))=B_(M). If it does, the system may try to lower (B_(R))one increment at step 1115. An increment may be the smallest amount bywhich the rate of the transmission (either increase or decrease). Thesystem may continue to test B_(M) at step 1118 until (B_(R)) (S_(T))does equal B_(M). Lowering (B_(R)) by one increment could aid intransmitting another version of the advertisement. For example, whilethe system aims to ensure that at least the low quality version of theadvertisement will be sufficiently transmitted, the system may prefer tohave the high quality version sufficiently transmitted.

If B_(M) does not equal (B_(R))(S_(T)), the system may increase (B_(R))by one increment at step 1117. The system may continue to test B_(M) atstep 1119 until (B_(R)) (S_(T)) does equal B_(M). By using singleincrements, the system may once again reserve available bandwidth forother versions of the advertisement. At step 1120, the system maydetermine if it has received a user selection. If the system has, aversion may be presented at step 1121, if it has not the system mayengage in another iteration of the system beginning at step 1116. Asubsequent iteration may further adjust the rate of transmission for anyversion of the advertisement as the bandwidth requirements tosufficiently transmit any particular version may change, due to networkconditions or other versions completing their transmission.

The preceding method is but one example of a method that may be used inthe system for measuring and allocating bandwidth. Other suitablemethods may also be applied. Furthermore, the steps described in FIG.11F may be done in any order or in parallel to reduce lag and improveefficiencies. The remote server 620 (FIG. 6), user device 610 (FIG. 6),or any device accessible via the communications network 670 (FIG. 6) mayperform any step of this or any other method.

FIG. 12 is a flow-chart of illustrative steps involved in selecting aversion of an advertisement for multiple media listings. In someembodiments, different media listings may be associated with differentadvertisements. For example, sports programming media listing may beassociated with an advertisement for athletic equipment, whereas acooking show media listing may be associated with an advertisement forkitchen appliances. A user profile stored on memory 616 (FIG. 6) on theuser device 610 (FIG. 6), and received by the remote server 620 (FIG. 6)or any device accessible via the communications network 670 (FIG. 6) mayindicate that the user is more likely to view the sports programmingmedia listing. It may be desirable to provide the user with high qualityversions of any advertisement with minimized delay; however, because ofbandwidth constraints, it may be difficult to achieve. Accordingly, thesystem can allocate its transmission bandwidth resources based on whatthe user is likely to select, but still be able to provide a low qualityalternative with minimized delay, if the user makes a less likelyselection. Therefore, the advertisement for the athletic equipment maybe transmitted in high quality and the advertisement for kitchenappliances will be transmitted in low quality. When the user selectseither the sports programming media or the cooking show media, therespective advertisement will be presented to the user.

In some embodiments, each media may be associated with multipleadvertisements. The advertisements may vary both by content and format.In some embodiments, the advertisement may change depending on the typeof user device being used to access the media.

In some embodiments, the selection of a version of any particularadvertisement to be presented with a particular media listing may bebased on the likelihood the media listing will be selected by a user.For example, a user may enter a web-site displaying a plurality ofstreaming media files. In anticipation of the user selecting one of thestreaming media files, advertisements begin transmitting. Due to thebandwidth constraint, not all advertisement may be of the highestquality; therefore, only the advertisements associated with the mediafiles the user is most likely to select are transmitted in high quality.The remaining advertisements are transmitted in a different quality suchas low quality.

The remote server 620 (FIG. 6), the user device 610 (FIG. 6) or anydevice accessible via the communications network 670 (FIG. 6) maydetermine appropriate advertisements to associate with the media. Thedetermination may be based on a user profile, which may detail a user'sinterests, viewing history, location, buying habits, and socio-economicdata. In addition the time, date, environmental conditions, advertiser'spreferences, and/or any other suitable method may be considered.

In addition, the devices may determine the likelihood that a user willselect a particular media listing. The likelihood that any particularmedia will be selected may be based on a user's profile, as explainedabove, industry data, environmental conditions or the popularity of theassociated media content. For example, it may be likely that a holidayprogram is selected during December, a full-length movie is selected ifbandwidth conditions are favorable, or the most recent episode of aseries is watched. Additionally, other factors such as the particulardate, time, number of media listings and content may affect thecomputation. In addition, the particular algorithm used may base itscomputation on the mode, median, mean or other statisticalprobabilities, incorporating measures of variability and diversity suchas standard deviation.

After determining the likelihood that a particular media listing will beselected, but before the user selects a media listing, remote server 620(FIG. 6) or any device accessible via the communications network 670(FIG. 6), may determine a particular version, or a set of versions, ofthe advertisement to present with the presentation of the media contentrelated to the media listing. The versions of the advertisement maydiffer by quality, file size or format. For example, the first versionof the first advertisement may have a first quality; the second versionof the second advertisement may have a second quality. The quality ofthe versions may be different, for example one version may have a higheror lower quality than the other. In addition, some embodiments mayinclude multiple versions of the each advertisement, all of which may betransmitted substantially simultaneously.

The remote server 620 (FIG. 6), the user device 610 (FIG. 6) or anydevice accessible via the communications network 670 (FIG. 6) mayfurther base the selection of versions on the user profile, userhistory, environmental factors, or a selection criteria or algorithm.For example, if the connection between the user device 610 (FIG. 6) andthe communications network 670 (FIG. 6) is high, the selected versionsmay have better quality. Alternatively, if the connection between theuser device 610 (FIG. 6) and the communications network 670 (FIG. 6) ispoor, the selected versions may have lower quality. In addition, theuser profile or history may further affect the versions based onadvertiser preferences. For example, if the user is likely to purchase aproduct after viewing a high quality advertisement, the selectedversions may have higher quality.

After the versions have been selected, the remote server 620 (FIG. 6) orany device accessible via the communications network 670 may begin totransmit the selected versions to the user device 610 (FIG. 6)substantially simultaneously. Therefore, when the user finally selects amedia listing, the amount of time that the user must wait for thepre-roll advertisement is minimized, and optimally zero.

In some embodiments, a first media listing and a second media listingare presented to a user on a user device 610 (FIG. 6) at step 1210. Themedia listings may be presented on the display 613 (FIG. 6) of the userdevice 610 (FIG. 6).

At step 1220, the remote server 620 (FIG. 6), the user device 610 (FIG.6) or any device accessible via the communications network 670 (FIG. 6)may determine a first advertisement associated with the first medialisting and a second advertisement associated with a second medialisting. Using retrieved profile and industry information, the remoteserver 620 (FIG. 6), the user device 610 (FIG. 6) or any deviceaccessible via the communications network 670 (FIG. 6) may determine thelikelihood that the user will select the first media listing at step1230, and may determine the likelihood the user will select the secondmedia listing at step 1260.

At step 1230, if the likelihood the user will select the first medialisting is high, the remote server 620 (FIG. 6) or any device accessiblevia the communications network 670 (FIG. 6) may initiate a transmissionof a high quality version of the first advertisement at step 1240. Ifthe likelihood the user will select the first media listing is low, theremote server 620 (FIG. 6) or any device accessible via thecommunications network 670 (FIG. 6) may initiate a transmission of a lowquality version of the first advertisement at step 1250.

At step 1260, if the likelihood the user will select the second medialisting is high, the remote server 620 (FIG. 6) or any device accessiblevia the communications network 670 (FIG. 6) may initiate a transmissionof a high quality version of the second advertisement at step 1270. Ifthe likelihood the user will select the second media listing is low, theremote server 620 (FIG. 6) or any device accessible via thecommunications network 670 (FIG. 6) may initiate a transmission of a lowquality version of the second advertisement at step 1280.

The transmissions of the version of the first advertisement and theversion of the second advertisement may be executed or performed in anyorder or sequence or may be executed or performed substantiallysimultaneously. The remote server 620 (FIG. 6) or any device accessiblevia the communications network 670 (FIG. 6) may initiate thetransmission to the user device 610 (FIG. 6) using control circuitry ofthe processor 622 (FIG. 6) of the remote server 620 (FIG. 6), theprocessor 651 (FIG. 6) of the advertisement source 650 (FIG. 6), theprocessor 631 (FIG. 6) of the media listing source 630 (FIG. 6), or anyother device accessible via the communications network 670 (FIG. 6).

FIG. 13 is also a flow-chart of illustrative steps involved in selectinga version of an advertisement to associate with a media listing in someembodiments. The advertisement version associated with each medialisting, may be selected, or prioritized, based on the likelihood thatthe user will select each media listing. In this way, the versions ofthe advertisements are optimized based on the available bandwidth, andthe likelihood that the user will experience a pause before the“pre-roll” advertisement is minimized. For example, a media listing witha high likelihood of user selection may have a high qualityadvertisement associated with it, while a media listing with a lowlikelihood of user selection is associated with a low qualityadvertisement.

In some embodiments, the user device 610 (FIG. 6) accesses a group ofmedia listings at step 1310. For example, the user may view a web-siteor an interactive television VOD guide. Upon accessing the group ofmedia listings, the user device 610 may initiate a selection ofadvertisements based on a profile stored in the memory 616 of the userdevice 610 at step 1320. Alternatively, upon determining that the userdevice 610 (FIG. 6) has accessed a group of media listings, remoteserver 620 (FIG. 6) or any device accessible via the communicationsnetwork 670 (FIG. 6) initiate a selection of advertisements.

The user device 610 may send, or the remote server may retrieve, theuser profile for the user device 610 (FIG. 6). The user profile may bestored in the memory 616 (FIG. 6) of the user device 610 (FIG. 6) or onany device accessible via the communications network 670 (FIG. 6). Forexample, the user profile may be housed on the memory 652 of theadvertisement source 650 (FIG. 6), the memory 632 of the media listingsource 630, or the memory 621 of the remote server 620 (FIG. 6).

At step 1330, the remote server 620 (FIG. 6), the user device 610 (FIG.6) or any device accessible via the communications network 670 (FIG. 6)may determine the likely time before the user makes a selection. Thecalculation may be based at least in part on an algorithm related to theuser profile or industry information or any suitable method describedabove. At step 1340, the remote server 620 (FIG. 6), the user device 610(FIG. 6) or any device accessible via the communications network 670(FIG. 6) may determine the likelihood that the user will select eachmedia listing at step 1340. At step 1350, the remote server 620 (FIG.6), the user device 610 (FIG. 6) or any device accessible via thecommunications network 670 (FIG. 6) may associate advertisements withthe media listings. Steps 1330, 1340 and 1350 may be executed orperformed in any order or sequence, and the order and sequence or may beexecuted or performed substantially simultaneously where appropriate orin parallel to reduce latency and processing times.

At step 1360, the remote server 620 (FIG. 6), the user device 610 (FIG.6) or any device accessible via the communications network 670 (FIG. 6)may associate an advertisement with each media listing and determine anadvertisement version for each advertisement. The determination of anadvertisement version may further consider the available bandwidth andallocation techniques discussed above.

At step 1370, the remote server 620 (FIG. 6) or any device accessiblevia the communications network 670 (FIG. 6) may transmit the versionsfor each advertisement to the user device 610 (FIG. 6). Thetransmissions of the versions of each advertisement may be executed orperformed in any order or sequence or may be executed or performedsubstantially simultaneously. The order, sequence or allocation ofbandwidth during substantially simultaneous transmission may incorporatethe techniques discussed above. The remote server 620 (FIG. 6) or anydevice accessible via the communications network 670 (FIG. 6) mayinitiate the transmission to the user device 610 (FIG. 6) using controlcircuitry of the processor 622 (FIG. 6) of the remote server 620 (FIG.6), the processor 651 (FIG. 6) of the advertisement source 650 (FIG. 6),the processor 631 (FIG. 6) of the media listing source 630 (FIG. 6), orany other device accessible via the communications network 670 (FIG. 6).

At step 1380, the remote server 620 (FIG. 6) or the user device 610(FIG. 6) may receive a user selection of a media listing. This couldoccur through an input by the user into the user input interface 612(FIG. 6) of the user device 610 or automatically based on an amount oflapsed time, user history or profile, or instructions from the remoteserver 620 (FIG. 6) or any device connected via the communicationsnetwork 670 (FIG. 6).

In some embodiments, the quality of the video or other media may drop,or may be improved, due to available bandwidth. The user device 610(FIG. 6) may inform the remote server 620 (FIG. 6) or any deviceaccessible via the communications network 670 (FIG. 6), and the remoteserver 620 (FIG. 6) or any device accessible via the communicationsnetwork 670 (FIG. 6) may further relay information to other devices.After determining that a user has viewed a particular advertisement ormedia content the user device 610 (FIG. 6) or any device accessible viathe communications network 670 (FIG. 6) may also adjust the billing costto the customer, the advertiser, or both. For example, the costassociated with lower quality advertisements or media content may beless than the cost associated with higher quality advertisements.

FIG. 14 is a flow-chart of illustrative steps involved in selecting aversion of an advertisement to associate with a media listing in someembodiments of the disclosure and further monetizing the valueassociated with different quality advertisements. At step 1410, theremote server 620 (FIG. 6) may be currently presenting media content toa user device 610 (FIG. 6). While the media content is being presented,an advertisement associated with the media content is being transmitted.For example, the system may be streaming and playing a medium qualityvideo program and buffering a medium quality targeted advertisement.During the transmission, the user device 610 (FIG. 6) or any deviceaccessible by the communications network 670 (FIG. 6) may detect a dropin the available bandwidth between the user device 610 (FIG. 6) and thedevice transmitting the media content, for example, the remote server620 (FIG. 6).

The remote server 620 (FIG. 6), the user device 610 (FIG. 6), or anydevice accessible via the communications network 670 (FIG. 6) maydetermine what parameters must change to fit the video program and theadvertisement into the new available bandwidth at step 1420. In oneoption, the remote server 620 (FIG. 6), the user device 610 (FIG. 6), ordevice accessible via the communications network 670 (FIG. 6) may lowerthe quality of the media content currently being presented. If so, theremote server 620 (FIG. 6), the user device 610 (FIG. 6), or any deviceaccessible via the communications network 670 (FIG. 6) may request, ortransmit, a lower quality version of the media content at step 1440.This approach may only be successful if there is a moderate drop inbandwidth.

A second option is to lower both the quality of the media contentcurrently being presented and to lower the quality of the advertisementcurrently being transmitted. As shown in step 1430, the remote server620 (FIG. 6), the user device 610 (FIG. 6), or any device accessible viathe communications network 670 (FIG. 6), may request, or transmit, anappropriately lower quality version of the video program and thetargeted advertisement. This may be necessary when there is a greaterdrop in the available bandwidth.

In either step 1430 or step 1440, there may be an adjustment to thecharges to the customer and advertiser. However, the media contentcurrently being presented (i.e. streamed) will continue uninterrupted,seamlessly transitioning to the advertisement currently beingtransmitted (i.e. buffered), albeit both may have a lower quality. Theaffects of the lower quality presentation may be further mitigated as auser may be unaware of small deviations in quality.

FIG. 15 is a flow-chart of illustrative steps involved in a method insome embodiments of the disclosure. At step 1511, the method includestransmitting a first media listing for a first media and a second medialisting for a second media to a user, wherein the first media isassociated with a first advertisement and the second media is associatedwith a second advertisement. At step 1541, the method includesdetermining a first likelihood that the user will select the first medialisting. At step 1561 the method includes determining a secondlikelihood that the user will select the second media listing. At step1571, prior to a user selection of one of the media listings, the methodincludes selecting a first version of the first advertisement and asecond version of the second advertisement based on the determinedlikelihoods. At step 1581, the method includes transmitting the firstversion of the first advertisement and the second version of the secondadvertisement substantially simultaneously.

FIG. 16 is a flow-chart of illustrative steps involved in a method insome embodiments of the disclosure. At step 1610, the method includesgenerating a display that includes a listing. At step 1620, the methodincludes identifying an advertisement associated with the listing. Atstep 1630 and 1640, while a user is presented with the listing, themethod includes transmitting substantially simultaneously, a firstversion of the advertisement and a second version of the advertisement.At step 1650, the method includes receiving a user selection of thelisting. At step 1660, the method includes measuring a length of timebetween the start of the transmitting and the receipt of the userselection, and selecting, for presentation, either the first version ofthe advertisement at step 1680 or the second version of theadvertisement at step 1670 based on the measured length of time.

The above-described embodiments of the present disclosure are presentedfor purposes of illustration and not of limitation, and the presentdisclosure is limited only by the claims which follow. Furthermore, itshould be noted that the features and limitations described in any oneembodiment may be applied to any other embodiment herein, and flowcharts or examples relating to one embodiment may be combined with anyother embodiment in a suitable manner, done in different orders, or indone in parallel. The systems and methods may be performed using acombination of software and hardware and any device listing in FIGS. 3,4 and 6 may be capable of performing the embodiments described herein.In addition, features and embodiments described in relation toadvertisements, advertisement versions, or advertisement segments may beapplied to media content, media content versions, or media contentsegments.

What is claimed is:
 1. A method comprising: generating a display thatincludes a listing; identifying an advertisement associated with thelisting; while a user is presented with the listing, transmittingsubstantially simultaneously, a first version of the advertisement and asecond version of the advertisement; receiving a user selection of thelisting; measuring a length of time between the start of thetransmitting and the receipt of the user selection; and selecting, forpresentation, either the first version of the advertisement or thesecond version of the advertisement based on the measured length oftime.
 2. The method of claim 1, wherein the first version of theadvertisement has a first quality and the second version of theadvertisement has a second quality.
 3. The method of claim 2, whereinthe quality of the first version of the advertisement is different thanthe quality of the second version of the advertisement.
 4. The method ofclaim 1, wherein determining the version of the advertisement selectedis further based on link speed.
 5. The method of claim 1, furthercomprising presenting the selected version of the advertisement.
 6. Themethod of claim 5, further comprising: after presenting either the firstversion of the advertisement or the second version of the advertisement,determining a point to stop presenting the presented version and beginpresenting an un-presented version of the advertisement.
 7. The methodof claim 6, wherein the point is determined by determining an amount ofthe presented version of the advertisement and an amount theun-presented version of the advertisement received by a user device; anddetermining how much of the presented version of the advertisement andthe un-presented version of the advertisement must be furthertransmitted.
 8. The method of claim 7, wherein determining the point isfurther based on link speed.
 9. The method of claim 7, whereindetermining the point is further based on a quality of a media listingselected by a user.
 10. The method of claim 1, wherein the secondversion of the advertisement is transmitted in reverse.
 11. The methodof claim 1, wherein the transmission of the second version of theadvertisement begins at a different point in the advertisement than thetransmission of the first version of the advertisement.
 12. A system forpresenting an advertisement, comprising: a server configured to:generate a display that includes a listing; identify an advertisementassociated with the listing; while a user is presented with the listing,transmit substantially simultaneously, a first version of theadvertisement and a second version of the advertisement; receive a userselection of the listing; measure a length of time between the start ofthe transmitting and the receipt of the user selection; and select forpresentation either the first version of the advertisement or the secondversion of the advertisement based on the length of time.
 13. The systemof claim 12, wherein the first version of the advertisement has a firstquality and the second version of the advertisement has a secondquality.
 14. The system of claim 13, wherein the quality of the firstversion of the advertisement is different than the quality of the secondversion of the advertisement.
 15. The system of claim 12, wherein theversion of the advertisement selected is further based on link speed.16. The system of claim 12, wherein the server is further configured topresent the selected version of the advertisement.
 17. The system ofclaim 16, wherein the server is further configured to determine a pointto stop the instruction to present either the first version of theadvertisement or the second version of the advertisement and generate aninstruction to present an un-presented version of the advertisement. 18.The system of claim 17, wherein the point is determined by determiningan amount of the presented version of the advertisement and an amount ofthe un-presented version of the advertisement received by a user device;and determining how much of the presented version of the advertisementand the un-presented version of the advertisement must be furthertransmitted.
 19. The system of claim 18, wherein the point is furtherdetermined based on link speed.
 20. The system of claim 18, wherein thepoint is further determined based on a quality of a media listingselected by a user.
 21. The system of claim 12, wherein the secondversion of the advertisement is transmitted in reverse.
 22. The systemof claim 12, wherein the transmission of the second version of theadvertisement begins at a different point in the advertisement than thetransmission of the first version of the advertisement.